我有一个使用常规asp.net上传控件将文件上传到服务器的应用程序。用户上传了一个.pptm文件(启用了宏的powerpoint),当其他用户下载此文件时,它已损坏且无法打开或无法打开但是Powerpoint要求用户“修复”该文件然后说某些内容可能已从文件中删除。当用户通过电子邮件向我发送文件时,我可以毫无问题地打开它。
要上传文件,我使用了FileUpload控件的内置SaveAs方法。
这是我如何提供文件以向用户提示下载对话框的模仿:
File ttFile = FileProvider.Get(fileId);
string virtualPath = ttFile.Path;
string fileName = ttFile.FileName;
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=\"" + fileName + "\"");
Response.WriteFile(virtualPath);
Response.ContentType = "";
Response.End();
如果没有人知道文件为何会被破坏,我很乐意听到。 提前谢谢。