エンド ユーザーが Web アプリケーションを介してファイルをアップロードします。これにはBlueimp jQuery Fileuploadを使用します。
サーバー側では、アップロードされたファイルを私が使用しているクラウドベースのファイル サービスにパイプするformidableを使用します。
コードは次のとおりです-
//The function called when file is uploaded
function (req, res) {
var form = new formidable.IncomingForm();
form.parse(req);
form.on('file', function (name, file) {
//Code that uploads the file to the cloud based hosting service
//Once uploaded, we return with the response
res.send(201, data)
});
}
ただし、クラウドベースのホスティング サービスにアップロードするコードには時間がかかります (ファイル サイズによって異なります)。私がやりたいことは、ファイルがクラウドにアップロードされるのを待たずに、すぐに戻ることです。つまり、いわばバックグラウンドでクラウドへのアップロードを行います。
res.send(201, data)
イベントの外側に移動しfile
て関数の最後に配置すると、「要求タイムアウト - 応答なしで接続が閉じられました」というエラーが発生します。
「バックグラウンド」でアップロードを実行し、すぐに戻るにはどうすればよいですか?