MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

TypeError:path harus berupa string atau Buffer MEAN stack

Untuk mengunggah file, Anda perlu membungkusnya dalam FormData contoh sebagai berikut:

interface Profile {
   photo: File;
}

updatePhoto(profile: Profile, id: string) {
    const body = new FormData();
    body.append('photo',profile.photo);
    return this.http.post(`http://localhost:3000/profile/photo/${id}`, body,)
        .map((response: Response) => response.json())
        .catch((error: Response) => {
            return Observable.throw(error.json());
        });
}

Selanjutnya, backend Anda kemungkinan besar gagal di bagian berikut:

user.img.data = fs.readFileSync(req.body.photo);

Menimbang bahwa Anda sekarang mengunggah formulir dengan multipart/form-data encoding, Anda perlu menggunakan beberapa middleware untuk mengurai permintaan di backend Anda seperti yang dinyatakan dalam dokumen expressjs

Anda dapat menggunakan multer atau express-fileupload

Jika Anda menggunakan yang kedua, Anda memerlukan yang berikut ini:

const fileUpload = require('express-fileupload');

router.use(fileUpload());// use express-fileupload as default parser for multipart/form-data encoding

router.post('/photo/:id', (req, res) => {
User.find({ _id: req.params.id })
    .exec((err, user) => {
        if (err) {
            return res.status(500).json({
                title: 'An error occured',
                error: err
            });
        }
        user.img.data = req.files.photo.data;
        user.img.contentType = 'image/png';
        user.save((err, obj) => {
            if (err) {
                throw err
            }
            console.log('success')
        })
    });
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menggunakan agregasi Mongo untuk menghitung jumlah nilai

  2. Dapatkan ukuran semua dokumen dalam kueri

  3. Apa cara bersih untuk menghentikan mongod di Mac OS X?

  4. Cara menggunakan MongoDB di Heroku

  5. Pertimbangan Dasar untuk Mengambil Cadangan MongoDB