小编典典

使Chrome扩展程序下载文件

html

我正在创建一个扩展程序,它将从网站上下载mp3文件。我正在尝试通过创建带有指向mp3文件的链接的新标签来实现此目的,但是chrome会继续在播放器中打开它而不是下载它。有什么方法可以创建一个弹出窗口,要求用户“另存为”文件?


阅读 459

收藏
2020-05-10

共1个答案

小编典典

快进了3年,现在GoogleChrome提供了chrome.downloadsAPI(自Chrome31起)。

"downloads"清单中声明许可后,可以通过以下调用启动下载:

chrome.downloads.download({
  url: "http://your.url/to/download",
  filename: "suggested/filename/with/relative.path" // Optional
});

如果要在脚本中生成文件内容,可以使用BlobURLAPI,例如:

var blob = new Blob(["array of", " parts of ", "text file"], {type: "text/plain"});
var url = URL.createObjectURL(blob);
chrome.downloads.download({
  url: url // The object URL can be used as download URL
  //...
});

有关更多选项(例如,另存为对话框,覆盖现有文件等),请参见文档

2020-05-10