Согласно RFC, в заголовке multipart / form-data content-disposition
поле имени файла получает в качестве параметра строку HTTP в кавычках - строка между кавычками где
символ '\' может экранировать любой другой символ ascii.
Проблема в том, что веб-браузеры этого не делают.
IE6 отправляет:
Content-Disposition: form-data; name="file"; filename="z:\tmp\test.txt"
Вместо ожидаемого
Content-Disposition: form-data; name="file"; filename="z:\\tmp\\test.txt"
Что должно быть проанализировано как z:tmptest.txt
в соответствии с правилами вместо z:\tmp\test.txt
.
Символы Firefox, Konqueror и Chrome не экранируют, например:
Content-Disposition: form-data; name="file"; filename=""test".txt"
Вместо ожидаемого
Content-Disposition: form-data; name="file"; filename="\"test\".txt"
Итак ... как бы вы предложили решить эту проблему?
У кого-нибудь есть идея?