expressでnodeJを使用する。
POSTデータはボディパーサーによって解析されています。次に、受信した画像ファイルを、imagesという名前のエクスプレスアプリケーションのフォルダに保存します。画像はnodeJsアプリに投稿されています。コールバック関数のres.body変数を見ると、画像が含まれていますが、保存方法がわかりません。
スタックフローを調べましたが、答えが見つかりませんでした。だから自分を投稿しました。
fsライブラリとそのfs.writeFile()関数を使用してみました。ファイルは保存されますが、すべて破損しています。
image1は、投稿されたデータの画像の名前です。bodyparser()の使用
var image = req.body.image1;
fs.writeFile('images/newImage.jpg', image, function(err){
if (err) throw err;
console.log('It is saved');
});
これにより、ファイルが画像ディレクトリに保存されますが、画像ではありません。
私はcurlを使用してnodejsアプリケーションにデータを投稿しています。コードは
$curl = curl_init();
$data = array('name' => 'First','file' => "image1=@".__dir__."/images/1.jpg");
curl_setopt($curl, CURLOPT_URL, "http://localhost:3000/api/");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_exec($curl);
curl_close($curl);
2つのconsole.log関数の両方をログに記録しています
console.log(req.files);
console.log(req.body);
とログは与える
{}
{ name: 'First',
file: 'image1=@C:\\xampp\\htdocs\\curltest/images/1.jpg' }
これが私を夢中にさせているのを助けてください:-/