【发布时间】:2017-07-10 18:58:46
【问题描述】:
我可以使用 HttpResponseMessage 下载并设置所有标头参数,如下面的代码摘录所示:
downloadHttpResp.Content = new ByteArrayContent(dwlMemStream.ToArray());
//*******************************************************************************
downloadHttpResp.Content.Headers.Add("x-filename", fileName);
downloadHttpResp.Content.Headers.ContentType = new MediaTypeHeaderValue(mimeType);
downloadHttpResp.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
downloadHttpResp.Content.Headers.ContentDisposition.FileName = fileName;
问题在于其中一列 - 只是一个文本列(但下载和打开将其视为日期列)。例如我有多个行列值出现为 11 - 05,当下载保存或在 Excel 中打开时,它转换为 Nov 05(就像它的日期一样) .我该如何解决这个问题?有没有其他方法可以克服,或者如果我可以设置的某些标题选项/设置将按原样保留数据并且在接收端不进行转换? 非常感谢任何帮助。
谢谢
【问题讨论】:
-
正在下载的文件的类型是什么。这看起来像是 Excel 读取文件的问题。例如,如果它是一个 CSV 文件,excel 不知道这些值应该是什么,并且会做出猜测。这使这超出了您的控制范围。如果下载的文件是实际的 excel 文件,那么您需要确保在最初保存/生成时正确配置值类型。
标签: c# angularjs asp.net-web-api httpresponsemessage