Я использую автоматический загрузчик файлов из командной строки, используя curl для сервлета.
Проблема в том, что у меня десятки тысяч файлов с точками с запятой (;) в именах файлов. Мне хорошо известно об этом, но это устаревшее приложение, которое продолжает создавать новые файлы каждый день. Переименование на самом деле не вариант по причинам совместимости ниже по течению.
Я пытался процитировать, экранировать, преобразовать в "% 3b", полностью указать путь ... очевидный материал ... но, похоже, ничего не работает, и он не может отправить со стороны клиента. Я нахожусь на своем Mac (в комплекте curl версии 7.21.3), но это не должно иметь значение?
Есть идеи?
macbookpro:~$ curl -F upload=@"my file.txt" http://localhost:8080/data/upload
ok
macbookpro:~$ curl -F upload=@"my;file.txt" http://localhost:8080/data/upload
curl: (26) failed creating formpost data
macbookpro:~$ curl -F upload=@"my\;file.txt" http://localhost:8080/data/upload
curl: (26) failed creating formpost data
macbookpro:~$ curl -F upload=@"my\\;file.txt" http://localhost:8080/data/upload
curl: (26) failed creating formpost data
macbookpro:~$