FileUpload
コントロールがあり(UpdatePanel
内にありません)、そのhasFile
プロパティは常にFalse
です。
<asp:FileUpload ID="certificateUploader" runat="server"/>
何か考えましたか?
UpdatePanelのトリガーを追加する
<Triggers>
<asp:PostBackTrigger ControlID="btnCertificateUpload" />
</Triggers>
これにより、アップロードボタンがクリックされたときにポストバックが強制されます。
また、次の行をPage_Loadに追加します
Page.Form.Attributes.Add("enctype", "multipart/form-data");
AJAX =>を使用してファイルをアップロードすることはできません。このUpdatePanelはAJAXリクエストをサーバーに送信するため、FileUploadコントロールをUpdatePanel内に配置しないでください。
FileUploadコントロールを使用してファイルもアップロードしましたが、HasFileプロパティがfalseを返しました。空のファイルをアップロードする場合、FileUpload.HasFileもfalseであることがわかります。この場合、アップロードするファイルにテキストを追加すると、Hasfileプロパティがtrueを返します。
@dbFrameITサポートが提供する例を補完するには:
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="UploadButton" runat="server" Text="Upload Selected File" OnClick="UploadButton_Click" />
<asp:Label ID="UploadDetails" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="UploadButton" />
</Triggers>
</asp:UpdatePanel>
コードビハインド(c#)
protected void UploadButton_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)
{
UploadDetails.Text = "Please first select a file to upload...";
}
else
{
string FileName = FileUpload1.FileName;
UploadDetails.Text = string.Format(
@"Uploaded file: {0}<br />
File size (in bytes): {1:N0}<br />
Content-type: {2}",
FileName,
FileUpload1.FileBytes.Length,
FileUpload1.PostedFile.ContentType);
// Save the file
string filePath = Server.MapPath("~/Brochures/" + FileUpload1.FileName);
FileUpload1.SaveAs(filePath);
}
}
アップロードしようとしているファイルに対するアクセス許可(または、より具体的にする必要はありません)についてのすべての時間に、ユーザーに十分なアクセス許可を付与しましたが、すべてうまくいきました。
あなたの助けと投稿に感謝します。
FileUploadに問題がある場合があります。簡単な入力を使用できます:
<input id="filMyFile" type="file" runat="server"></input>
コードでファイルをサーバーに保存する:
HttpPostedFile myFile = filMyFile.PostedFile;
string fullPath=Server.MapPath("~/UploadDocuments/") + myFile.FileName;
myFile.SaveAs(fullPath);
そして、ファイルはASP.NETアプリケーション(サーバー)のUploadDocumentsフォルダーに保存されます