为什么fileupload控件不会上传包含相同数据的多个文件?

时间:2016-02-16 16:32:35

标签: c# asp.net c#-4.0 file-upload .net-4.0

我在ASP.NET中使用FileUpload控件并使用它上传多个文件,但问题是它上传了包含相同内容的多个文件,即如果我上传了4张图片image1.pngimage2.pngimage3.jpgimage4.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);
    }
}

1 个答案:

答案 0 :(得分:0)

如果您将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);
    }
}