簡體   English   中英

從服務器 C# 下載時 Zip 文件已損壞

[英]Zip file is corrupted when downloaded from server C#

我有一個壓縮文件,在使用 C# 代碼從服務器下載它時,它在提取時顯示無效,我嘗試直接從服務器提取文件並且它正在工作。

因此,這里的文件似乎僅在下載過程中損壞。 幾天前這工作正常,但現在顯示問題。

您能否檢查我的代碼並告訴這里可能存在什么問題,相同的代碼在我的本地開發環境中可以正常工作。

已經試過了,

1.嘗試直接在服務器中提取文件並且它有效,所以問題一定是我的下載代碼。

2.相同的下載代碼工作正常。

注意:文件已經在服務器中壓縮,下面的代碼只是下載壓縮文件,壓縮是好的,因為文件在服務器中打開

protected void linkbtntempdownload_Click(object sender,EventArgs e)
            {
                string downloadlocation = string.Empty;
                if(ConfigurationManager.AppSettings["Environment"] == "prod")
                {
                    downloadlocation = ConfigurationManager.AppSettings["Templates"].ToString();
                }else
                {
                    downloadlocation = Server.MapPath("~/TemplateFolder/Templates.zip");
                }

                Response.ContentType = "application/zip";
                Response.AddHeader("content-disposition", "attachment; filename=" + "_Templates.Zip");

                Response.WriteFile(downloadlocation);
                Response.Flush();
                Response.SuppressContent = true;
                HttpContext.Current.ApplicationInstance.CompleteRequest();



            }

嗨終於能夠糾正這個問題。 原因是 zip 文件已損壞。

當用記事本打開 zip 文件時,它應該以 P 開頭。但是當打開我們的文件時,我們發現文件中附加了一個額外的字符串。 我們能夠發現在我們的服務器代碼中存在一個Respose.write("string")作為附加字符串附加到 zip 文件中。 刪除它后,文件正確打開。

暫無
暫無

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

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