簡體   English   中英

為什么ASP.NET文件上傳控制損壞的文件?

[英]Why does asp.net fileupload control corrupt files?

我正在使用FileUpload控件上傳多個文件,並且成功完成,但是問題是當我上傳后下載文件時,文件損壞了,例如.pdf,.docx等。檢查后發現問題出在上傳控件中,因為我檢查了文件上載並嘗試打開它后在服務器目錄中找到文件,但文件拋出錯誤,即文件已損壞。

我檢查了服務器目錄中的每個上載文件,該文件也在那里不起作用,所以問題是上載錯誤

protected void UploadIncomingLetterMaterial(int CaseLetterID)
{
    if (FileUpload1.HasFiles)
    {

        foreach (HttpPostedFile uploadedfiles in FileUpload1.PostedFiles)
        {
            string fileName = Path.GetFileName(uploadedfiles.FileName);
            FileUpload1.PostedFile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);

            mngUploadedMaterialIncomingLetters.InsertUploadedMaterialIncomingLetters(fileName, "", CaseLetterID);
        }

更新:

問題是,當我上傳多個文件時,它將使所有文件的大小相同。 與循環中第一個文件的大小相同。

看起來這是問題所在:

FileUpload1.PostedFile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);

這將多次保存第一個文件-您正在嘗試將當前指的文件保存為uploadedfiles (應為單數)。 看來您應該具備:

foreach (HttpPostedFile uploadedFile in FileUpload1.PostedFiles)
{
    string fileName = Path.GetFileName(uploadedFile.FileName);
    uploadedFile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);
    mngUploadedMaterialIncomingLetters.InsertUploadedMaterialIncomingLetters(fileName, "", CaseLetterID);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM