我刚刚开始开发 chrome 扩展。 我想创建一个扩展以便更改特定下载的下载文件夹。
我可以做这样的事吗? 如果没有,如何在下载开始前更改默认下载文件夹,然后在下载结束后将其恢复为原始值?
您无法更改基本下载文件夹 - 此设置无论如何都不会公开。
chrome.downloads
API,您可以将文件放入用户下载文件夹的子文件夹中。
您可以使用
chrome.downloads.download
自行启动下载,或使用 chrome.downloads.onDeterminingFilename
请求拦截来自其他来源的下载。
您需要提供相对路径作为建议名称,例如
"special/filename"
保存到“下载”文件夹内的子文件夹 special
。
不是问题的答案,但有一个 Chrome 扩展可以做到这一点。
要使用 Chrome 的下载 API 自动将文件下载到特定文件夹,您可以使用以下代码:
chrome.downloads.download({
url: 'https://example.com/file.pdf',
filename: 'file.pdf',
saveAs: false,
directoryStructure: 'preset',
presetDirectoryId: 'DOWNLOADS'
});
您可以使用上面代码中的presetDirectoryId属性选择默认下载文件夹。它可以设置为以下三个值之一:
除此之外,没有其他方法可以下载文件。
如果要将文件下载到 downloads 文件夹中的特定文件夹,您可以传递带有文件名的文件夹,或者结合使用预设目录 ID 属性和预设目录名称属性:
chrome.downloads.download({
url: 'https://example.com/file.pdf',
filename: 'file.pdf',
saveAs: false,
directoryStructure: 'preset',
presetDirectoryId: 'DOWNLOADS',
presetDirectoryName: 'My Folder'
});
这会将文件下载到下载文件夹内的新文件夹“我的文件夹”中。