当我尝试将二进制文件转换为PDF时,pdf已损坏。使用C#创建PDF
byte[] stream = presenter.getItemTable();
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader ("Content-Disposition", "attachment; filename=PressRelease.pdf");
Response.BinaryWrite(stream);//Entities.EDRSearchResult.ByteStream);
Response.Flush();
Response.End();
但是,当我将相同的二进制转换为Excel它工作正常,可以打开没有任何错误。
byte[] stream = presenter.getItemTable();
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/vnd.openxmlformats - officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition","attachment;filename=DataTable.xls");
Response.BinaryWrite(stream);
Response.Flush();
Response.End();
请帮帮我。
这可能不是,但你应该总是换流在'using'块。尝试像'使用(var stream = presenter.getItemTable()){...}' – t3dodson
请指出**你的**数据转换。我看到你所做的就是设置一个标题**,声明**一种格式。 – mkl