GridFS でファイルを適切に保存および取得する際に問題が発生しています。現在、.txt ファイルを送信すると、ファイルの内容が返されますが、.doc ファイルを送信すると、たくさんの意味不明なメッセージが表示されます (黒いひし形にクエスチョン マークが入っているなど)。
私の最終目標は、ファイルを送信して、後で別の要求で誰かがファイルをダウンロードできるようにすることです。
コードの記述:
router.post('/jobs/listing/:job/apply', multipartyMiddleware, function(req, res, next){
var myFile = req.files.file;
var conn = mongoose.createConnection('mongodb://localhost/test');
conn.once('open', function () {
var gfs = Grid(conn.db, mongoose.mongo);
var readfile = fs.createReadStream(myFile.path);
var f = readfile.pipe(gfs.createWriteStream({
filename: myFile.name
}));
f.on('close', function(){
console.log('File Added to GRIDFS');
res.end();
});
});
}
読み取りコード:
var conn = mongoose.createConnection('mongodb://localhost/test');
conn.once('open', function () {
var gfs = Grid(conn.db, mongoose.mongo);
var readstream = gfs.createReadStream({
filename: req.file //set to desired filename
});
var f = readstream.pipe(res);
});
助言がありますか?あなたが提供できる助けを本当に感謝します。ありがとう。
編集:角度でのアップロードの問題に問題がありました。