【发布时间】:2016-02-19 14:04:46
【问题描述】:
我正在以二进制格式上传和检索数据库中的 PDF 附件文档 检索附件时上传已成功完成我从控制器收到 jQuery 的响应,但在这里我无法以 PDF 格式显示二进制数据
我的控制器代码:
public HttpResponseMessage Get()
{
pdfDbEntities db = new pdfDbEntities ();
var data = from i in db.EmpTables
where i.Empno == 12
select i;
EmpTable pdf = (EmpTable)data.SingleOrDefault();
byte[] pdfData = pdf.Empattch;
MemoryStream ms = new MemoryStream(pdfData);
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(ms);
response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application / pdf");
return response;
}
jQuery 代码:
$("#btnShow").click(function () {
var options = {};
options.url = "/api/Pdf";
options.type = "GET";
options.dataType = false;
options.contentType = false;
options.success = function (retData) {
$("body").append("<iframe src='" + retData + "' style='' ></iframe>")
window.open(retData);
};
options.error = function (x,y,z) {
debugger
alert(err.statusText);
};
$.ajax(options);
});
【问题讨论】:
标签: jquery asp.net-mvc-4 asp.net-web-api