Javascript 将PDF链接作为文件下载到同一页面中,而不是在浏览器中打开
在我的应用程序编写的离子5和8,我需要下载多个PDF链接(文件)在同一页点击链接。我试过了,但PDF链接正在浏览器中打开。请求帮助我实现此功能Javascript 将PDF链接作为文件下载到同一页面中,而不是在浏览器中打开,javascript,typescript,download,angular8,ionic5,Javascript,Typescript,Download,Angular8,Ionic5,在我的应用程序编写的离子5和8,我需要下载多个PDF链接(文件)在同一页点击链接。我试过了,但PDF链接正在浏览器中打开。请求帮助我实现此功能 相同来源时,“下载”属性显示正常,否则它将显示为与没有“下载”属性时相同。 列出三种解决方案: 将文件打包为浏览器无法直接打开的文件类型,例如ZIP 通过后端转发,后端请求第三方资源并将其返回到前端,前端使用文件保护程序等工具保存文件 如果URL指向的第三方资源配置了CORS,则可以通过XHR请求该文件 当来源相同时,“下载”属性显示为正常,否则它将显示
相同来源时,“下载”属性显示正常,否则它将显示为与没有“下载”属性时相同。 列出三种解决方案:
当来源相同时,“下载”属性显示为正常,否则它将显示为不带
download
属性。
列出三种解决方案:
我尝试了上述方法,文件下载没有发生。前提是URL指向的第三方资源配置了CORS。我尝试了上述方法,文件下载没有发生。前提是URL指向的第三方资源配置了CORS
downloadFileXHR(filePath, fileName) {
var xhh = new XMLHttpRequest()
xhh.open('get', filePath)
xhh.responseType = 'blob'
xhh.onreadystatechange = function () {
if (xhh.readyState === 4 && xhh.status === 200) {
var blob = new Blob([xhh.response])
var csvUrl = URL.createObjectURL(blob)
var link = document.createElement('a')
link.href = csvUrl
link.download = fileName
link.click()
}
}
xhh.send()