2017-10-03 3 views
0

cURLを使用してWebサーバーにファイルをアップロードする必要があります。cURLを使用して.binファイルをWebサーバーにアップロードしようとしていません

Click here to view a screen capture これは、HTMLコード(完全なコードは300行で、それはSmoothieboardと呼ばれる3Dプリンタを実行するための組み込みシステム上の非常に単純なWebアプリケーションです)の一部です:

Webアプリケーションは次のようになります

<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[][email protected]/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アプリケーションでも発生するため、何かが起こっているようです。ファイルは転送されているようですが、処理を完了するために何かもっとやる必要があると感じています。

私の注意を引く何かは、私がファイル[]やジャガイモ[]をタイプしても同じことが起こるということです。 upload()機能なし

答えて

0

は、それが問題を再現するのは難しいが、何を行うことができますことは、単にクローム開発コンソールとcurl要求を抽出します

ネットワークタブで、「ログを保存」チェック、ページをリロードし、アップロードファイルを右クリックして、要求/コピー/コピーをcURL:

enter image description here

関連する問題