如何下载没有网址的pdf

时间:2013-09-17 16:50:50

标签: c# javascript ajax

我正在构建一个向客户销售pdf的系统。我们有第三方创建和管理pdf。购买时,我们的api调用它们的api,返回一个byte []。

如何从此开始下载?

示例流程:

用户点击购买

Javascript进行ajax调用 - > / API / PurchaseProduct /产品/信息

C#然后以类似的方式调用第三方api

返回是一个字节[] - 哪个是文档

从这里我不知道是否应该将byte []返回给浏览器或者是否应该发生其他事情。如果我返回byte []做javascript然后需要把它变成pdf吗? C#应该将byte []转换成pdf然后返回吗?

我担心这是非常新的,我不知道从哪里开始。

由于

修改

我们使用ASP.Net MVC,我们的网站是单页面应用程序。

文件大小取决于购买的内容。

2 个答案:

答案 0 :(得分:3)

无法通过AJAX将文件返回给用户。浏览器必须使用普通的HTTP请求来请求文件。

最好的解决方案是在ajax请求之后将文件保存到磁盘,然后将路径返回到客户端,以便可以像往常一样打开文件。 window.open。

答案 1 :(得分:2)

在AJAX调用的方法中,包括以下内容:

Current.Response.ClearHeaders();
Current.Response.ClearContent();
Current.Response.AppendHeader("Content-Disposition", "attachment; filename=file.pdf");
Current.Response.ContentType = "application/pdf";
Current.Response.BinaryWrite(returnedByte);
Current.Response.End();

其中returnedBytebyte[]

相关问题