c# - 如何下载没有url的pdf

标签 c# javascript ajax

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

我如何从这里开始下载?

示例流程:

用户点击购买

Javascript 调用 ajax ->/api/PurchaseProduct/product/information

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

返回的是一个byte[]——也就是文件

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

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

谢谢

编辑

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

文件大小因购买的元素而异。

最佳答案

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

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

关于c# - 如何下载没有url的pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18855495/

相关文章:

c# - Constants 类中的静态属性是否应该实现支持字段?

c# - WiX 自定义操作 - 构建失败

javascript - 如何在 GWT jsni 中传递类名作为参数并调用常见静态方法?

javascript - 在javascript中使用另一个数组创建数组

jquery - 使用 AJAX 提交付款时 PayPal 500 错误 Java 空指针异常错误

c# - 从 List<int> 返回字符串的最优雅方式

c# - 如何为 Visual Studio 2017 生成 odata v4 c# 代理客户端?

javascript - 滚动溢出: true on afterSlideLoad

php - PDO 使用正确的值但将错误的值插入数据库

jQuery Dialog 多次提交表单