我在ASP.NET中使用FileUpload
控件并与其上载多个文件,但是问题是它上载了具有相同内容的多个文件,即如果我上载了4个图像image1.png
,image2.png
,image3.jpg
,image4.gif
,则每个图片中都包含相同的图片/数据。为什么?
.aspx代码:
<asp:FileUpload ID="FileUploadMaps" AllowMultiple="true" runat="server" />
<asp:HiddenField ID="hdnFieldMapPath" runat="server" />
.cs代码:
if (FileUploadMaps.HasFiles)
{
foreach (HttpPostedFile uploadedfile in FileUploadMaps.PostedFiles)
{
string fileName = Path.GetFileName(uploadedfile.FileName);
FileUploadMaps.SaveAs(Server.MapPath("~/SiteImages/") + fileName);
mngUploadedMaterialMaps.InsertUploadedMaterialMaps(fileName, "", PropertyDetailsID);
}
}
最佳答案
如果将FileUpload与多个文件一起使用,则应使用HttpPostedFile.SaveAs
方法,而不是控件侧的方法,如下所示:
if (FileUploadMaps.HasFiles)
{
foreach (HttpPostedFile uploadedfile in FileUploadMaps.PostedFiles)
{
var fileName = Path.GetFileName(uploadedfile.FileName);
uploadedfile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);
mngUploadedMaterialMaps.InsertUploadedMaterialMaps(fileName, "", PropertyDetailsID);
}
}
关于c# - 为什么fileupload控件不上传包含相同数据的多个文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35437931/