ContentType application / pdf在safari中不起作用

时间:2015-01-22 09:37:26

标签: c# pdf

从处理程序我附加在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 一些建议如何解决?

1 个答案:

答案 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());

这种方式是我能找到的唯一可靠方法,可确保所有浏览器始终如一地执行。您应该能够在内存流

中使用标头信息