0

上传大于 9MB 的文件时,我在使用 ConvertApi.com PowerPoint2Pdf 转换时遇到问题。我可以毫无问题地通过浏览器表单上传至少 43MB 的 PowerPoint 文件,因此它不应该是 API 中的限制。

如果大小小于这个,当我使用这条线时,转换可以很好地使用 curl (应用这些说明,并进行适当的更改):

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

编辑:该命令实际上有效,但与 此处找到的 URL 结合使用时已损坏

但是,如果我对大于 9MB 的文件执行相同操作,curl 进度表会显示当前上传的字节数在不到 10 秒后停止增长,Xferd 字段表明它已经上传了大约 9000k 的内容(在示例中下面,它是 9120k)。最终连接似乎在 2 分钟 17 秒后每次都停止(一次 2:16,用不同的 >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 显然意味着“对等方重置连接”,但这发生在上传停止两分钟后,因此服务器端对问题的健康反应似乎是一个健康的反应,不要无限期地等待上传继续.

由于使用浏览器表单时类似的上传始终没有问题,因此它应该不是浏览器配置的问题,而是我的请求。

由于我对 curl 不是很熟悉,而且我的搜索并没有为我提供有关如何使用 -F 上传大型二进制文件的任何真正见解,因此我不确定应该如何更改请求。

我在这里发现了类似的问题,但问题似乎取决于服务器。PHP / CURL / ASP.NET / C# - 发送大于 9mb 的文件

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 回答