1

dropzone を使用してファイルをアップロードしています。サーバー側ではnodeとexpressjsを使用しています。また、ファイル処理ミドルウェアとして multer を使用しています。

dropzone は 1 つのエンドポイントを呼び出して、ファイルをサーバーに保存します。

サーバー側では、ファイルを処理するエンドポイントを作成しました。

exports.saveFile = function (req, res) {
  console.log(req.files);
  return res.status(200);
  //I have not added any file save logic here
};

これは私がmulterを設定した方法です

var app = express();
var server = require('http').createServer(app);
app.use(multer({ dest: './uploads/'}));

multer が自動的にファイルをuploadsフォルダーに保存するようです。

問題: ファイルがサーバーに保存されていても、要求はクライアント側で保留状態のままです。

サーバーからクライアントに成功の応答を返すにはどうすればよいですか?

作成したエンドポイントにコードを追加する必要がありますか、それとも multer で指定された onFileUploadComplete() の下に必要なロジックを追加する必要がありますか?

ここに画像の説明を入力

4

1 に答える 1

1

http 要求を完了するフォーム ポストの Express ルートが必要です。multer ミドルウェアはファイルのアップロードを処理し、それらをリクエストに追加して、ルート ハンドラで使用できるようにしますが、フォーム ポスト用のルートが必要です。

このページの multer の例から、ルートに対して次のようなことができます。

app.post('/myform', function(req, res){
    console.log(req.body);  // form fields
    console.log(req.files); // form files
    res.status(204).end()
});
于 2015-06-15T06:27:42.957 に答える