簡體   English   中英

在nodejs中下載圖像文件后,獲取消息文件不受支持。 我正在使用Formdata從angular7上傳文件

[英]getting message file not supported After downloading image file in nodejs . I'm uploading file from angular7 using Formdata

我正在使用formdata將圖像以一定角度發送到我的nodejs api。 在nodejs中,我將該文件存儲在myfolder中,但是當我打開存儲的圖像文件時,其顯示為"Abc.jpeg It appears that we don't support this file format"

在nodejs中,我使用了multiparty,然后使用了強大的功能,但是在這兩者中都遇到了相同的錯誤,我比較了上傳(原始文件)之前的文件大小為78kb,但是上傳后為111kb。

Nodejs代碼

var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
    console.log(files.fileDetails.path);
    var oldpath = files.fileDetails.path;
    var newpath = 'C:/storage/myfolder/' + files.fileDetails.name;
    fs.rename(oldpath, newpath, function (err) {
        if (err) throw err;
        res.write('File uploaded and moved!');
        res.end();
    });
})

角度代碼

public OnSubmit(formValue: any) {
    let main_form: FormData = new FormData();
    for(let j=0;j<this.totalfiles.length; j++) {
        console.log("the values is ",<File>this.totalfiles[j]);
        console.log("the name is ",this.totalFileName[j]);
        main_form.append(fileDetails,this.totalfiles[j])
    }
    console.log(formValue.items)

    this._SocietyService.postFiles(main_form).subscribe(data => {
        console.log("result is ", data)
    })
}
var path = require('path')
var multer = require('multer')

var storage = multer.diskStorage({
  destination: 'C:/storage/myfolder/',
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now());
  }
})

var upload = multer({ storage: storage })

您可以使用multer它的一個變化得心應手中間件來處理form/multipart數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM