我在打开新格式文档Microsoft Office(docx,xlsx等)时遇到问题。 我使用ASP NET MVC开发我的项目。
我写了新方法:
[HttpGet]
[AllowAnonymous]
public ActionResult DownloadFileNew(Guid Id)
{
FileTable fileTable = _DocumentService.GetFile(Id);
HttpResponseBase response = ControllerContext.HttpContext.Response;
response.ContentType = fileTable.ContentType;
response.AppendHeader("Content-Disposition", String.Format("attachment;filename={0}", fileTable.FileName));
MemoryStream ms = new MemoryStream(fileTable.Data);
FileStreamResult document = new FileStreamResult(ms, fileTable.ContentType);
document.FileStream.Seek(0, SeekOrigin.Begin);
document.FileStream.CopyTo(response.OutputStream, (int)document.FileStream.Length);
response.Flush();
return new EmptyResult();
}
但不要使用新格式,只使用旧格式(doc,xls等)。
当我尝试打开文档时,我会收到错误消息:" Excel Web app无法打开此文档..."
日志文件:
答案 0 :(得分:1)
不确定您使用的ContentType是什么,但必须是
适用于docx文件
Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
适用于doc文件
Response.ContentType = "application/ms-word"
所有mime类型的列表here