gpt4 book ai didi

javascript - 如果文件的扩展名为 jpg 或 png,我如何使用 chrome.downloads.onDeterminingFilename 更改下载的文件名?

转载 作者:行者123 更新时间:2023-11-29 14:52:48 28 4
gpt4 key购买 nike

如何使用 chrome.downloads.onDeterminingFilename如果文件的扩展名为 JPG 或 PNG,如何更改下载的文件名?

我正在看这里的例子:

chrome.downloads.onDeterminingFilename.addListener(function(item, __suggest) {
function suggest(filename, conflictAction) {
__suggest({filename: filename,
conflictAction: conflictAction,
conflict_action: conflictAction});
}
var rules = localStorage.rules;
try {
rules = JSON.parse(rules);
} catch (e) {
localStorage.rules = JSON.stringify([]);
}
for (var index = 0; index < rules.length; ++index) {
var rule = rules[index];
if (rule.enabled && matches(rule, item)) {
if (rule.action == 'overwrite') {
suggest(item.filename, 'overwrite');
} else if (rule.action == 'prompt') {
suggest(item.filename, 'prompt');
} else if (rule.action == 'js') {
eval(rule.action_js);
}
break;
}
}
});

这令人困惑。 chrome.downloads.onDeterminingFilename如何从上面检测文件的名称?一旦检测到,它是如何更改文件的?任何人都可以分解上面这些代码的含义吗?

引用:http://developer.chrome.com/extensions/samples

最佳答案

  • 一旦确定文件名 onDeterminingFilename 事件在调用回调函数时触发,它需要 2参数

    1. item 对象,包含下载 id、url、文件名、引荐来源网址等数据(请参阅 https://developer.chrome.com/extensions/downloads#type-DownloadItem )
    2. __suggest 必须调用它以同步或异步传递建议。
  • 定义了一个建议函数,用于调用__suggest根据具体规则
  • 所有规则都从本地内存中访问并运行一个for循环遍历它们。
  • 对于基于规则中的action数据的每次迭代使用特定的 filename 调用 suggest 函数,并且冲突操作

基本上,文件名是使用 item.filename 获取的,并通过调用 __suggest 建议一个新的文件名,其中键 filename 的值包含新文件名。

关于javascript - 如果文件的扩展名为 jpg 或 png,我如何使用 chrome.downloads.onDeterminingFilename 更改下载的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com