【问题标题】:.bin file upload to web server using cURL is not working使用 cURL 将 .bin 文件上传到 Web 服务器不起作用
【发布时间】:2018-03-14 04:30:53
【问题描述】:

我需要使用 cURL 将文件上传到 Web 服务器。网络应用如下所示:

Click here to view a screen capture 这是 HTML 代码的一部分(完整的代码是 300 行,它是一个非常简单的嵌入式系统上的网络应用程序,用于运行名为 Smoothieboard 的 3D 打印机):

<h2> Upload File </h2>
<input type="file" id="files" name="files[]" onchange="upload();">

<h3>Uploading file(s)</h3>
<output id="list"></output>
<div id="progress"></div>
<div id="uploadresult"></div>
<script>
  document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>

当用户点击“浏览”按钮时,会弹出一个窗口来浏览文件系统并选择一个文件。我的文件名为“firmware.bin”。选择文件后,立即开始上传(没有“上传”按钮,文件的传输在选择后立即完成)。我需要使用 cURL 自动执行此任务。我目前正在做以下事情:

curl -i -F files[]=@/home/pi/P18/firmware.bin http://192.168.3.222/upload

输出是:

HTTP/1.0 200 OK
Server: uIP/1.0
Connection: close
Access-Control-Allow-Origin: *
Content-Type: text/plain

OK

但是,它似乎不起作用。我可以通过其他方式访问服务器,并且我可以向您保证,通常的人性化上传过程可以正常工作,但我使用 cURL 所做的却没有。似乎确实发生了一些事情,因为 OK 消息需要几秒钟才能弹出,这也发生在 Web 应用程序中。文件似乎已转移,但我觉得我需要做更多的事情才能完成该过程。

引起我注意的是,无论我输入文件[] 还是土豆[],都会发生同样的事情。

【问题讨论】:

    标签: php html http curl server


    【解决方案1】:

    如果没有upload() 函数,很难重现问题,但您可以做的是使用Chrome 开发控制台提取curl 请求:

    在“网络”选项卡中,选中“保留日志”,重新加载页面,上传文件,右键单击请求/复制/复制为 cURL:

    【讨论】:

      猜你喜欢
      • 2013-11-19
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      相关资源
      最近更新 更多