3

Как я могу загрузить файл с именем yes, this filename has a comma.txt с curl Cli?

Обычно вы делаете это, чтобы загрузить файл с помощью curl:

curl --progress-bar -F "fileUpload=@filename.txt"

Однако curl интерпретирует запятые как несколько файлов для загрузки, поэтому это не будет работать:

curl --progress-bar -F "fileUpload=@yes, this filename has a comma.txt"

Как я могу избежать имени файла?


Я уже нашел обходной путь, создав временную символическую ссылку на исходный файл и передав ее в curl. Однако проблема в том, что имя файла, которое curl отправляет на сервер, является именем файла символической ссылки, а не исходного файла.

1 ответ1

4

Вы не сказали, какую ОС вы используете. Следующие решения работают для Linux (не только для curl но и для большинства видов экранирования):

  • Поместите имя файла в кавычки (их также нужно экранировать):

    curl --progress-bar -F "fileUpload=@\"yes, this filename has a comma.txt\"" 
    
  • Избежать запятой

    curl --progress-bar -F "fileUpload=@yes\, this filename has a comma.txt" 
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .