从处理程序我附加在memoryStream中的pdf文档:
context.Response.Clear();
MemoryStream ms = new MemoryStream(pdfByte);
context.Response.AddHeader("content-disposition",
"attachment;filename=myDoc.pdf");
context.Response.ContentType = "application/pdf";
context.Response.Buffer = true;
ms.WriteTo(context.Response.OutputStream);
context.Response.End();
在所有浏览器工作中都很完美,但在safari下载的文件中有这个名称格式=>的 myDoc.pdf.txt 一些建议如何解决?
答案 0 :(得分:0)
这是我通常用于在浏览器客户端中显示PDF文件的内容:
FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read);
var data = new byte[(int)stream.Length];
stream.Read(data, 0, System.Convert.ToInt32(stream.Length));
var cd = new System.Net.Mime.ContentDisposition
{
FileName = yourfilename,
Inline = false,
};
Response.AddHeader("Content-Disposition", cd.ToString());
这种方式是我能找到的唯一可靠方法,可确保所有浏览器始终如一地执行。您应该能够在内存流
中使用标头信息