代码之家  ›  专栏  ›  技术社区  ›  mfaiz

使用curl data binary选项,内存不足

  •  1
  • mfaiz  · 技术社区  · 8 年前

    我正在尝试使用curl上传数据。我需要上传二进制数据。

    不幸的是,我认为curl首先将文件二进制文件加载到内存中,所以对于大型文件来说这是一个问题。我使用的系统内存非常少,因此即使是8MB大的文件也很难使用,我得到:

    curl: option --data-binary: out of memory
    curl: try 'curl --help' for more information
    

    我试过分块的方法,但似乎也不管用。

    到目前为止,我正在尝试:

    curl --insecure -v --max-time 1200 ... --data-binary @/tmp/sd/record/....mp4 --header Transfer-Encoding: chunked -o UPLOAD_TOKEN -D Media_Binary_Data https://....upload
    

    有没有办法可以阻止文件将二进制文件加载到内存中,或者强制它将这些数据存储在SD卡中并从中读取?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Poshi    8 年前

    内存不足的原因是--数据和它的朋友都在将数据发送到服务器之前将其读入内存。你可以通过做-t-x post来轻松解决这个问题,但我仍然相信你在最初的-f测试中已经出错了。

    发件人: https://github.com/curl/curl/issues/1385