Man Anda berjalan di jalan yang salah. Saya telah menjelaskan dalam permintaan pertanyaan Anda sebelumnya bahwa Multer digunakan untuk menyimpan file dalam sistem disk file dan bukan ke database Anda secara langsung. Untuk itu Anda harus menggunakan GRIDFS.
Datang ke pertanyaan Anda saat ini.
app.post('/Upload', upload.single('solution') ,function (req, res, next) {
console.log(req.file);
});
Berikut upload.single('solution')
- memanggil fungsi Unggah dan nama file yang diteruskan adalah solusi tetapi cukup jelas bahwa itu tidak tersedia di sini.
gunakan jenis format ini - dokumentasi Multer
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/tmp/my-uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
var upload = multer({ storage: storage })
Storage Part disana digunakan untuk memberikan path ke mana file Anda harus disimpan dan bagian nama file digunakan untuk melakukan perubahan pada nama file yang ingin Anda miliki.
Silakan baca dokumentasi karena itu akan membantu. Saat kami menggunakan modul pihak ketiga, kami harus mengakui informasi yang telah mereka berikan sehingga kami dapat menggunakan pekerjaan mereka dengan mudah.
Biarkan saya membuatnya lebih mudah bagi Anda. Berikut adalah kode siap pakai yang berfungsi.
Multer melempar kesalahan aneh saat mengunggah file melalui ng-file upload
Pergi periksa utas itu. Pertanyaan itu diajukan oleh saya - masalahnya adalah saya mengirim file dalam format array, seperti dalam banyak file sekaligus. Jika Anda tidak melakukan itu, ubah saja segmen ng-file-upload untuk menggunakan contoh demo unggahan tunggal dan di sisi server kode nodejs ganti .array
dengan .single
dan semuanya akan bekerja seperti yang Anda inginkan - mengingat Anda ingin menggunakan sistem disk file untuk menyimpan file.
Saya ulangi bahwa metode ini tidak akan membantu Anda menyimpan file di mongodb secara langsung.
Beri tahu saya jika Anda memerlukan klarifikasi lebih lanjut.