我有HTML输入控件来上传文件,但文件返回空。
<input type="file" class="upload" runat="server" id="FUFile"/>
string tempVar = "~/res/Posts/" + FUFile.Value.ToString();
FUFile.ResolveUrl(Server.MapPath(tempVar));
答案 0 :(得分:1)
只需使用FileUpload控件
<asp:FileUpload runat="server" ID="FUFile">
<asp:Button runat="server" ID="UploadButton" Text="Upload file" OnClick="UploadButton_Click"/>
然后,您可以将FUFile
的属性(FileContent
用于流,FileBytes
将完整内容用作字节数组,PostedFile
用于{{1}你需要的具有HttpPostedFile
方法的对象。
例如,请参阅此答案以保存流:How do I save a stream to a file in C#?
请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload(v=vs.110).aspx
上的完整示例答案 1 :(得分:1)
该文件正在从fileupload正确发布。如果需要保存FUFile.PostedFile:
if (FUFile.PostedFile != null)
{
string tempVar = "~/res/Posts/" + FUFile.Value.ToString();
FUFile.PostedFile.SaveAs(Server.MapPath(tempVar));
}
以下是测试方法:
在标记中我有这个:
<input type="file" class="upload" runat="server" id="FUFile"/>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
在代码中我有这个方法:
protected void Button1_Click(object sender, EventArgs e)
{
if (FUFile.PostedFile != null)
{
string tempVar = "~/res/Posts/" + FUFile.Value.ToString();
FUFile.PostedFile.SaveAs(Server.MapPath(tempVar));
}
}
当我选择一个文件并单击该按钮时,它会将文件上传到../res/Posts文件夹。