[英]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.