首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊S3 - MS办公文件在下载时损坏

亚马逊S3 - MS办公文件在下载时损坏
EN

Stack Overflow用户
提问于 2013-05-21 23:34:38
回答 2查看 1.8K关注 0票数 0

当我使用aws将docx、xlsx或pptx上传到S3时,文件被上传得很好,并且可以直接从S3查看文件,而不会出现任何问题。但是,当我在ASP.net中使用C#下载该文件时,在打开该文件时会收到警告消息(请参见下面):

"Excel在test.xlsx中找到了不可读的内容。要恢复此工作簿的内容吗?“如果我点击“是”,我就可以看到文档中的所有内容。

类似地,我也收到了.docx文件的警告消息。

这是我使用的C#代码:

代码语言:javascript
复制
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
Response.OutputStream.Write(Content, 0, Content.Length);
Response.Flush();

HttpContext.Current.ApplicationInstance.CompleteRequest();

更新:当我在windows应用程序中下载文件时,它运行良好,问题仅限于web应用程序。

我做错了什么?

请帮帮我..。

EN

回答 2

Stack Overflow用户

发布于 2013-05-21 23:49:41

需要更多的信息来解决这个问题。您提供的代码片段看起来不错。问题就在你代码的其他地方.例如,在“内容”中加载什么?

此外,如果您尝试上传和下载一个简单的文本文件,查看所附加的数据类型也会有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2013-05-22 01:12:51

如果Content是从MemoryStream创建的byte[],那么一定要调用.ToArray()而不是.GetBuffer()来获取它。如果使用.GetBuffer(),可能会得到额外的字节,而office文件格式可能不喜欢这些字节。您尝试过的其他文件类型可能会更容忍他们最终没有预料到的额外数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16681220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档