2

私はnode.jsでファイルアップローダーを書いています。ドキュメントに従っており、Macで作業しているときにファイルが時々アップロードされています。私の Windows PC では、ファイルがまったくアップロードされません。

Express フレームワークを使用しており、アプリは外部サーバーでホストされています。アップロードしようとしているときに表示されるエラーは次のとおりです。

Error: unintialized parser
    at IncomingForm.write (/srv/node/test-app/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:130:17)
    at IncomingMessage.<anonymous> (/srv/node/test-app/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:87:12)
    at IncomingMessage.EventEmitter.emit (events.js:95:17)
    at IncomingMessage.<anonymous> (_stream_readable.js:720:14)
    at IncomingMessage.EventEmitter.emit (events.js:92:17)
    at emitDataEvents (_stream_readable.js:745:10)
    at IncomingMessage.Readable.on (_stream_readable.js:666:5)
    at IncomingForm.parse (/srv/node/test-app/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js:86:6)
    at /srv/node/frog-jam/node_modules/express/node_modules/connect/lib/middleware/multipart.js:125:12
    at noop (/srv/node/frog-jam/node_modules/express/node_modules/connect/lib/middleware/multipart.js:22:3)

フォームを介して画像を投稿し、サーバー側でファイルのアップロードを処理するこのコードを持っています。

fs.rename(req.files.image.path
    , '/path/to/new/folder/' + req.files.image.name
    , function(err) {
        if(err) return res.json(err);
        return res.json({message:'Upload complete'});
    }
);

このメソッド内およびその周辺にコンソール ログを追加しましたが、コントローラー メソッドに到達していないようです。ファイルのアップロードを自分で処理するためのミドルウェアはありません。また、このルートにはこれ以上のミドルウェアはありません。

私のMacブックでも時々動作するので、すべてのアップロード先も正しいです。

4

1 に答える 1