2

我需要实现一个基于 Flash 的文件上传器,这将允许我一次上传多个文件并查看进度。

我尝试了UploadifySwfUpload,让它们工作起来很容易。

但是,当用户尝试上传文件名带有特殊字符的文件(例如丹麦语 æøå 或瑞典语 ö - 以及其他我确定的)时,我都遇到了问题。

文件上传正常,但文件名搞砸了:

  • malmö.jpg 变为 malmö.jpg
  • æblemoster.jpg 变为 æblemoster.jpg

我当然尝试在不使用闪存的情况下将文件提供给我的上传脚本 - 然后它们工作正常。因此,据我所知,flash 上传对象和/或 javascript 会抓取文件 - 并以某种方式将文件名搞砸。

有没有人遇到过类似的事情 - 也许对我如何按预期进行这项工作有所了解?

4

2 回答 2

3

SWFObject 输入很可能发送 UTF8 编码数据,服务器端的脚本将它们作为 ISO-8859-1 处理。为了快速修复(如果您在服务器端使用 PHP),请在传入文件名上尝试 utf8_decode()。

如果我是你,我会考虑简单地过滤掉所有变音符号并将它们转换为它们的非变音符号等价物或“o”、“a”、“u”。它使生活更轻松。

于 2009-11-18T23:14:09.380 回答
0

由于在这两种情况下都使用了 flash,我假设 flash 要么不解码它读入的文件名,要么不编码它发布的文件名(或两者兼而有之)。

需要打开 flash .fla 文件来检查解码/编码。

于 2009-11-18T23:14:34.277 回答