javascript - 单击按钮时使用 JavaScript 从 Web 服务器下载图像

标签 javascript jquery

当用户按下网页上的按钮时,如何下载图像。 我不想使用<a href download="file">因为它在某些设备上不起作用。我如何使用 JavaScript 来做到这一点

最佳答案

您需要添加download属性为<a></a>链接,或通过其他元素的事件:

$('button.download', modal).on('click', function (e) {
  e.preventDefault();

  var url = ""; // Some URL.
  var fileName = "image.jpeg"; // Some File name

  var a = $('<a href="' + url + '"></a>')
    .attr('download', fileName)
    .appendTo('body');

  a.click(function () {
    a[0].click();
    $(this).remove();
  });

  a.trigger('click');
});

[编辑] 如果您不想使用它,您<a></a>链接需要在要下载的文件的服务器响应中包含这些 header :

Content-Type: application/force-download

Content-Disposition: attachment; filename="image.jpeg"

Content-Transfer-Encoding: binary

关于javascript - 单击按钮时使用 JavaScript 从 Web 服务器下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37145175/

相关文章:

jquery - 使两个高度可调的列在主 div 内具有 100% 的高度

javascript - 如何在 Vue 组件中通过 Jquery 附加到 Bootstrap 4 中的模式关闭事件?

javascript - jQuery - 如何在条件为真时取消表单提交以防止默认

javascript - 如何生成所有可能的 CSS 2 选择器组合?

javascript - 当通过 javascript 动态设置时,输入文本框的 ng-model 值在 angularjs Controller 中未定义

javascript - 如何在 REACT 中为导入的组件设置默认值

javascript - 使用javascript如何识别HTML标签?

javascript - knockout 完成后运行脚本

javascript - 正则表达式匹配整数或单词 "other",不区分大小写

javascript - 方法 通过复选框 javascript 获取触发器