我正在发布帖子请求并从终点接收回复,通过该终点我收到了excel内容。
我之前使用过这个终点并试图绑定一个电子邮件工作者,这很好。 (符合终点响应很清楚)。
现在有了不同的要求,我需要调用此终点并下载excel file.xlsx文件,因此生成的文件已损坏,我excel尝试在文件下载后恢复它。
已经走了不同的线程并尝试了几乎所有的东西。
似乎没什么用。
尝试1:
Response.Clear();
stream.Flush();
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName.Replace("\"", String.Empty));
在调试时我确保关闭响应。 (到Response.End())。 甚至添加了显式标题
Response.AddHeader("content-disposition", "attachment; filename=\"" fileName".xlsx\"");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
尝试2
明确将memoryStream写入响应。 Response.BinaryWrite(tgtBytes);
在写入响应并确保memoryStream.dispose和Response.End之前确保了Response.Clear。 甚至用过。 Response.ClearHeaders()。
尝试 - 3.
而不是MemoryStream,尝试使用filestream,保存文件并从写入的文件下载。问题仍然存在。
我得到一个binaryStream作为响应,没有编码完成,因为它不是十六进制值。
流已损坏(可能不是这种情况,因为我使用不同要求的终点)或响应已损坏。
我该如何检查究竟是什么原因? 请让我知道我还能尝试什么。