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

Google chrome extension chrome.downloads.download中的文件名字符有问题,google-chrome-extension,Google Chrome Extension,开始下载时,在函数的filename参数中使用某些字符会导致“Invalid filename”错误。我在文档中找不到任何信息,例如:替换为%3A或:;不起作用 有问题的字符是: : " ? ~ < > * | 有没有办法使用这些有问题的字符 编辑:是否有chrome.downloads.download不支持的字符列表 编辑2:换一种说法。用户可以在Chrome(Linux)中手动下载文件,并在下载对话框中将其命名为: title:subtitle.extension 我

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

有问题的字符是:

: " ? ~ < > * |
有没有办法使用这些有问题的字符

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

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

title:subtitle.extension
我想在分机上也这样做

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

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

否。这将是一个无效的文件名

什么是无效的取决于操作系统。下面是一个例子

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


另请参见。

为什么要在下载文件名中使用这些字符?它们在大多数文件系统中也有问题。(并不是所有文件系统中都有,但由于您不知道扩展名(?)的用户将使用什么操作系统/文件系统…)我预计这与典型的操作系统/文件系统是一样的。请看以下帖子:。实际上没有一种方法可以使用它们,文件名基本上是本地的,所以你不能像url一样对它们进行编码,因为在另一端没有解码的地方。文件名会自动生成。我宁愿让用户选择怎么做,也不愿去掉有问题的字符。我使用的是Ubuntu,如果我下载了一个带有chrome的文件,我可以将其命名为“?”~<>*|。在Linux上,情况正好相反。API不喜欢使用文件名。错误不是来自文件系统,因为所有字符都是允许的。
title:subtitle.extension