Electron アプリから Web アプリケーション (node.js + Express) にファイルをアップロードする必要があります。まず、選択したファイルと共に (Electron アプリの HTML フォームから) メタデータを収集し、POST 要求をウェブアプリケーション。Web アプリケーションは、ディスク上の事前構成された場所にファイルを保存し、保存されたファイルのメタデータとパスをデータベースに保存することによって、この要求を処理します。SO を参照して、requestとform-dataを使用してフォーム データでリクエストを構成し、次のようなコードを使用して POST リクエストを発行することにしました。
var fs = require('fs');
var request = require('request');
var FormData = require('form-data');
let formData = {
'name': imageName,
'mediaType': mediaType,
'extension': extension,
'resolution.x': resolutionX,
'resolution.y': resolutionY,
'url': url,
'file': fs.createReadStream(absFilePath)
};
request.post({
url: 'http://localhost:8080/images',
formData: formData
}, function(err, response, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log('Server responded with:', response);
});
Electron アプリでは、コンソールに Server Responded with:[IncomingMessage]
と表示され、応答ステータス コードは 500 です。これは非常に紛らわしく、2 つのプロジェクトの Github ページの例を把握できません。上記の目標を達成するために POST リクエストを発行するにはどうすればよいですか?