Загрузка Powerpoint останавливается на ~9 МБ с помощью cURL -F

У меня проблема с использованием конвертации ConvertApi.com PowerPoint2Pdf при загрузке файлов размером более 9 МБ. Я могу загрузить файлы PowerPoint не менее 43 МБ через форму браузера без проблем, поэтому это не должно быть ограничением в API.

Если размер меньше этого, преобразование прекрасно работает с curl, когда я использую эту строку ( Применяя эти инструкции, с соответствующими изменениями):

curl -v -F file=@"filename.pptx" http://do.convertapi.com/PowerPoint2Pdf?apikey=YourApiKeyHere > output.pdf

Редактировать: эта команда на самом деле работает, но она была сломана при объединении с URL-адресом, найденным здесь

Однако, если я делаю то же самое с файлом, размер которого превышает 9 МБ, индикатор выполнения скручивания показывает, что загруженное в настоящее время количество байтов перестает расти менее чем через 10 секунд, а поле Xferd указывает, что оно загрузило что-то около 9000 КБ (в примере ниже это 9120к). В конце концов, кажется, что соединение прерывается каждый раз через 2 минуты 17 секунд (один раз 2:16, проверено 3 раза с различными файлами>25 Мб), с таким выводом или аналогичным:

21 41.5M 0 0 21 9120k 0 67800 0:10:42 0:02:17 0:08:25 0 * Closing connection 0 curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 104

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

Поскольку аналогичная загрузка работает без проблем при использовании формы браузера, это должно быть связано не с конфигурацией браузера, а с моим запросом.

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

Я нашел подобную проблему здесь, но там, кажется, проблема была что-то, зависящее от сервера. PHP / CURL / ASP.NET / C# - отправка файлов размером более 9 МБ

1 ответ

Решение

Кажется, проблема вызвана использованием безопасного https:// Форма URL ( который находится здесь), а не небезопасный http:// форма ( например, та, что используется здесь). Таким образом, форма команды, показанная в вопросе, на самом деле работает правильно:

    curl -v -F file=@"filename.pptx" http://do.convertapi.com/PowerPoint2Pdf?apikey=YourApiKeyHere > output.pdf
Другие вопросы по тегам