浏览器仅下载某些Base64文件类型

时间:2018-01-17 19:02:04

标签: javascript jquery base64

我有我试图让用户下载的Base64文件。 我不需要这些或希望这些在浏览器中显示。我需要下载这些。数据似乎回来了,但只有某些类型的文件正在运行。

我在ajax调用中抓取数据,然后检查是否有任何数据。

$('button').on('click', function(){
   ...ajax call
  if (data) {
          var encode = 'data:image/' + data.dataTypeCode + ';base64,'
          var image = encode+data.data;
          window.open(image, '_blank');
      }
  })

这只是打开word,excel,gif,mpg,tif和pdf文件。 这不是打开我觉得奇怪的png,jpg,mp3文件。

1 个答案:

答案 0 :(得分:-1)

您无法强制用户自动下载文件,原因只是在data URI中打开了Blob URLwindow表示的文件。您可以提供要下载的文件。

const a = document.createElement("a");
a.download = "fileName";
a.href = /* data URI, Blob URL*/;
document.body.appendChild(a);
a.click();