Hen*_*ikP 5 .net c# webforms file-upload autopostback
我有一个 Webform(aspx) 页面。
在其中,我们基本上拥有按下按钮时“发布”的这种形式,但实际上它不是真正的 httpPOST,它实际上只是该按钮上的回发 onclick 事件。在该事件中,我们获得了我们想要的所有信息,例如用户在文本字段中输入的内容等。顺便说一句,这很好用。
但现在我想添加一个文件上传器,更具体地说是一个图像上传器。
我可以在按钮事件点击回发中从代码隐藏中获取用户上传到输入类型文件的文件吗?不是httppost。
小智 7
对此有一个特定的控制,FileUpload。只需将它添加到页面上,您就可以在回发时从此控件中获取上传的文件,与页面上的其他控件非常相似,例如文本框等,以获取更多信息:http : //asp.net-tutorials.com/controls/文件上传控制/
aspx页面:
<form id="form1" runat="server">
<asp:FileUpload id="FileUploadControl" runat="server" />
<asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" />
<br /><br />
<asp:Label runat="server" id="StatusLabel" text="Upload status: " />
</form>
Run Code Online (Sandbox Code Playgroud)
背后的代码:
protected void UploadButton_Click(object sender, EventArgs e)
{
if(FileUploadControl.HasFile)
{
try
{
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File uploaded!";
}
catch(Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}
Run Code Online (Sandbox Code Playgroud)