chrome.downloads.download 中的文件名字符有问题

chr*_*hrm 7 javascript google-chrome-extension

在开始下载时,在函数chrome.downloads.download的文件名参数中使用某些字符会导致“文件名无效”错误。我在文档中找不到任何信息,例如将 : 替换为 %3A 或 : ; 不起作用。

有问题的字符是:

: " ? ~ < > * |
Run Code Online (Sandbox Code Playgroud)

以下是您可以在具有下载权限的任何扩展程序的后台页面控制台中使用的示例。

chrome.downloads.download(
    {url: "http://i.imgur.com/3cWNMt3.webm",
     filename: "title:subtitle.webm"},
    function (downloadId) {
        if (downloadId===undefined)
            console.log(chrome.runtime.lastError);
        else
            console.log("Ok");
});
Run Code Online (Sandbox Code Playgroud)

有没有办法使用这些有问题的字符?

编辑:是否有 chrome.downloads.download 不支持的字符列表?

编辑2:换句话说。用户可以在 Chrome (Linux) 中手动下载文件,并在下载对话框中将其命名为:

title:subtitle.extension
Run Code Online (Sandbox Code Playgroud)

我想在我的扩展中做同样的事情。

该文件名只是一个示例,文件名根据网页和一些用户生成的规则自动生成。

Xan*_*Xan 4

有没有办法使用这些有问题的字符?

不,那将是一个无效的文件名

具体无效内容因操作系统而异。这是Windows 的完整规则集

一个常见的策略是用允许的东西替换字符;例如,_

另请参阅这个问题