0

9 MB を超えるファイルをアップロードするときに、ConvertApi.com PowerPoint2Pdf 変換を使用すると問題が発生します。少なくとも 43MB の PowerPoint ファイルをブラウザー フォームから問題なくアップロードできるので、API の制限ではありません。

サイズがこれより小さい場合、この行を使用すると、変換は curl で完全に正常に機能します (適切な変更を加えてこれらの手順を適用します)。

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

編集: そのコマンドは実際には機能しますが、ここにあるURLと組み合わせると壊れました

ただし、9MB を超えるファイルで同じことを行うと、現在アップロードされているバイト数の増加が 10 秒以内に停止したことを curl プログレス メーターが示しており、Xferd フィールドは、約 9000k をアップロードしたことを示しています (例では以下、9120k)。最終的に、接続は毎回 2 分 17 秒 (2:16 に 1 回、異なる >25Mb ファイルで 3 回テスト) 後に停止するように見え、次のような出力が表示されます。

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 は明らかに「ピアによる接続のリセット」を意味しますが、これはアップロードが停止してから 2 分以上経過した後に発生するため、アップロードが続行されるまで無期限に待機しないことは、サーバー側の問題に対する健全な反応のようです。 .

ブラウザ フォームを使用すると、同様のアップロードが一貫して問題なく動作するため、ブラウザの設定の問題ではなく、私の要求に問題があるはずです。

私は curl にあまり詳しくなく、検索しても -F を使用して大きなバイナリ ファイルをアップロードする方法について実際の洞察が得られなかったため、リクエストをどのように変更すればよいかわかりません。

ここで同様の問題を見つけましたが、問題はサーバーに依存していたようです。PHP / CURL / ASP.NET / C# - 9 MB を超えるファイルを送信する

4

1 に答える 1

0

この問題は、安全でない形式 (ここで使用されているものなど) ではなく、安全なhttps://形式の URL (ここにあります) を使用することによって発生しているようです。したがって、質問に示されているコマンドの形式は、実際には正しく機能します。http://

    curl -v -F file=@"filename.pptx" http://do.convertapi.com/PowerPoint2Pdf?apikey=YourApiKeyHere > output.pdf
于 2016-03-18T06:42:28.973 に答える