Javascript web浏览器在尝试创建blob类型错误时发出投诉:无法构造';水滴';:提供的值无法转换为序列
我有一个RESTAPI(POST方法),它返回PDF的内容。我使用curl进行了测试,我确实可以在我的计算机上查看并打开文件:Javascript web浏览器在尝试创建blob类型错误时发出投诉:无法构造';水滴';:提供的值无法转换为序列,javascript,vue.js,post,Javascript,Vue.js,Post,我有一个RESTAPI(POST方法),它返回PDF的内容。我使用curl进行了测试,我确实可以在我的计算机上查看并打开文件: curl http://localhost:8080/ponyapp/test/generate-pdf -H 'Content-Type: application/json' -d '[{"fieldA":"valueA", "fieldB":"valueB", ...}]' -i -o ~/Desktop/label.pdf 现在我有了一个vuejs/js应用程序
curl http://localhost:8080/ponyapp/test/generate-pdf -H 'Content-Type: application/json' -d '[{"fieldA":"valueA", "fieldB":"valueB", ...}]' -i -o ~/Desktop/label.pdf
现在我有了一个vuejs/js应用程序,它需要使用这个RESTAPI并能够将文件保存到本地计算机中。我的方法(如果我错了,请纠正我)是:
obj↵↵endobj↵20 obj↵ 必须将数组传递给blob构造函数
let data = new Blob([response.data], { type: 'application/pdf,' });
必须将数组传递给blob构造函数
let data = new Blob([response.data], { type: 'application/pdf,' });
您可以查看。您可以避免在js中下载,只需构建链接
,就可以在vue中使用:href=“url”
。我想即使是window.location=
也可以,如果下载成功,我可能会误解你的评论。该文件不存在。我需要对服务器(代理)进行REST调用,该服务器将使用请求负载从另一台服务器获取内容和pdf内容。不确定我是否解释正确。你不需要ajax,只需链接文件或设置window.location。此外,请确保在后端为pdf设置正确的标题。下面是如何设置php标题的示例,您可以检查。您可以避免在js中下载,只需构建链接
,就可以在vue中使用:href=“url”
。我想即使是window.location=
也可以,如果下载成功,我可能会误解你的评论。该文件不存在。我需要对服务器(代理)进行REST调用,该服务器将使用请求负载从另一台服务器获取内容和pdf内容。不确定我是否解释正确。你不需要ajax,只需链接文件或设置window.location。此外,请确保在后端为pdf设置正确的标题。下面是如何设置php标题的示例