Flash Uploaders (Uploadify и SwfUpload) - проблемы со специальными символами в именах файлов - PullRequest
2 голосов
/ 19 ноября 2009

Мне нужно реализовать загрузчик файлов на основе флэш-памяти, который позволит мне загружать несколько файлов одновременно и просматривать ход выполнения.

Я пытался Uploadify и SwfUpload , и было довольно легко заставить их работать.

Тем не менее, для обоих я сталкиваюсь с проблемами, когда пользователи пытаются загружать файлы с именами файлов со специальными символами (например, датское sweøå или шведское ö - и другие, я уверен).

Файл загружается нормально, но имя файла искажено:

  • malmö.jpg становится malmö.jpg
  • æblemoster.jpg становится æblemoster.jpg

Я, конечно, пытался подать файлы в мои загружаемые скрипты без использования flash - и тогда они работают нормально. Итак, из того, что я могу сказать, объект (ы) флэш-загрузки и / или javascript извлекают файл и каким-то образом портят имя файла.

Кто-нибудь сталкивался с чем-то подобным - и, может быть, есть представление о том, как я могу сделать эту работу, как задумано?

Ответы [ 2 ]

3 голосов
/ 19 ноября 2009

Скорее всего, вход SWFObject отправляет данные в кодировке UTF8, а сценарий на стороне сервера обрабатывает их как ISO-8859-1. Для быстрого исправления (если вы работаете с PHP на стороне сервера), попробуйте utf8_decode () для входящего имени файла.

На вашем месте я бы подумал о том, чтобы просто отфильтровать все умлауты и преобразовать их в их эквиваленты, не являющиеся умлаутами, или «о», «а», «у». Это облегчает жизнь.

0 голосов
/ 19 ноября 2009

Поскольку flash используется в обоих случаях, я предполагаю, что flash либо не декодирует имена файлов, которые он читает, либо кодирует имена файлов, которые он публикует (или оба).

необходимо открыть флэш-файл .fla для проверки декодирования / кодирования.

...