apache-flex - Flex FileReference 禁止字符

标签 apache-flex filereference

FileReference 的使用对有效字符有限制。
错误:错误 #2087:FileReference.download() 文件名包含禁止字符。
这很好,因为我猜这个限制无论如何来自底层文件系统

是否存在修剪/替换所有禁用字符的通用方法?

为了清楚起见,我追求的是:
var dirty:String = "吃这个!@##$%%^&&*()\/";.txt
var clean:String = dirty.replaceAllProhibitedCharacters();

我不是在寻找特定于操作系统的正则表达式,而是跨平台解决方案。

最佳答案

禁止字符列表不会因底层操作系统而改变,它是一个固定列表。从 FileReference.download() 的文档中,不允许使用的字符列表是:

/\:*?"<>|%

编辑:看起来 @ 也是不允许的。

如果您想从任意字符串中删除这些字符,您可以执行以下操作:

var validFileName:String = invalidFileName.replace(/[\/\\:*?"<>|%@]/g, "");

如果你想用其他东西替换它们,那么将第二个参数更改为 replace()

编辑:添加了@字符;转义了 / 字符。

关于apache-flex - Flex FileReference 禁止字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927711/

相关文章:

actionscript-3 - URLRequest/URLLoader 自动将 POST 请求转换为 GET

javascript - Flex - 调用 JavaScript 函数并打开显示数据的弹出窗口

javascript - Flash对象的方法在隐藏后不可用

flash - 在 FileReference.save() AS3 上锁定文件类型的替代方法

html - XML 文件中的本地 XSL 引用

delphi - 如何找到我的错误(delphi)

java - 如何在不使用 FlexContext 的情况下从 Java 服务对象访问主体?

python - 如何找到哪个文件是 "initiator"Python

java - 文件未找到异常 --- 将文件引用传递给 RMI 客户端时出现问题

apache-flex - Actionscript 3 中的外部配置文件