javascript - Javascript/jquery 下载图片
问题描述
我想知道如何处理下载来自标头响应的图像:
HTTP/1.1 200 OK
Date: Sun, 14 Jun 2020 23:23:29 GMT
Server: Apache/2.4.39 (Win64) OpenSSL/1.0.2s PHP/7.1.30
X-Powered-By: PHP/7.1.30
Content-Disposition: attachment; filename="flyer.png"
Cache-Control: no-cache, private
Set-Cookie: XSRF-TOKEN=eyJpdiI6IkhTNWFcL29QQU11UkZOeWZka1ZZdlBBPT0iLCJ2YWx1ZSI6Inhwbm5WdEdCNnVqTlk1VVk5N2JjMHFsM2lmT3g1UmVhbHY5N3VtRjFmalI4VmM1STN3VUE5YWVPRHFZWVJab2dqZGFERnR4cGxmNktwdXNIWExuY2pnPT0iLCJtYWMiOiI4N2UxM2Y5MGM0MWJiNGVmNzJiMjdlYzc2NjQwODhjN2Q0OWM2ODM5MjA0MGRiYjQxZmY2ZDRiODViZDE5M2M1In0%3D; expires=Mon, 15-Jun-2020 01:23:31 GMT; Max-Age=7200; path=/
Set-Cookie: laravel_session=1IVT1owUoiIxjWKmDBF5WtJgHQCt0pDUZ39IGzeb; expires=Mon, 15-Jun-2020 01:23:31 GMT; Max-Age=7200; path=/; httponly
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/jpeg
这是我的脚本的草图:
$.get("{!!route('gerarFlyerImage')!!}",dados).done(function(data){
console.log(data);
saveData(data, 'filename.png');
})
function saveData(blob, fileName) // does the same as FileSaver.js
{
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
}
但是 saveData() 不起作用?
解决方案
试试这个 - 从您的网址下载图片。
演示: https ://jsfiddle.net/usmanmunir/fx8Lzt4g/18/
JS 脚本
function downloadFile(fileName) {
$.ajax({
url: '{!!route('gerarFlyerImage')!!}',
method: 'GET',
data: dados,
xhrFields: {
responseType: 'blob'
},
success: function (data) {
var a = document.createElement('a');
var url = window.URL.createObjectURL(data);
a.href = url;
a.download = fileName;
document.body.append(a);
a.click();
a.remove();
window.URL.revokeObjectURL(url);
}
});
}
希望这可以帮助。
推荐阅读
- spring-boot - 从另一个微服务获取对象并将其映射到字段的最佳方法
- angular - ng serve live reload 在脚本中不起作用
- java - 为什么在数据库中插入 JPA null
- neo4j - 如何通过 neo4j 或 apoc 应用通用 json-patch 操作
- integration-testing - 2checkout沙箱不发送INS通知
- php - 使用php pdo更新查询mysql中的多个表还检查数据库关系
- r - 如何在 r 中动态更新选择输入的选择
- docker - 暴露 Docker 端口的问题
- sql-server - 从日期范围内获取数据
- excel - Pandas 和 Openpyxl 覆盖 excel