Загрузка 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