我需要实现一个基于 Flash 的文件 uploader ,它允许我一次上传多个文件并查看进度。
我试过Uploadify和 SwfUpload让他们工作非常容易。
但是,当用户尝试上传文件名带有特殊字符(例如丹麦语 æøå 或瑞典语 ö - 以及我确信的其他字符)的文件时,我都遇到了问题。
文件上传正常,但文件名搞砸了:
- malmö.jpg 变为 malmö.jpg
- æblemoster.jpg 变为 êblemoster.jpg
我当然尝试过在不使用 flash 的情况下将文件提供给我的上传脚本 - 然后它们工作得很好。因此,据我所知,flash 上传对象和/或 javascript 会抓取文件 - 并以某种方式修改文件名。
有人遇到过类似的事情吗?也许知道我如何才能使这项工作按预期进行?
最佳答案
SWFObject 输入很可能发送 UTF8 编码数据,并且服务器端的脚本将它们作为 ISO-8859-1 进行处理。要快速修复(如果您在服务器端使用 PHP),请尝试对传入文件名使用 utf8_decode()。
如果我是你,我会考虑简单地过滤掉所有变音符号并将它们转换为非变音符号或“o”、“a”、“u”。它让生活更轻松。
关于javascript - Flash 上传程序(Uploadify 和 SwfUpload)- 文件名中特殊字符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759788/