最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在nodejs中接收上传的文件

运维笔记admin18浏览0评论

如何在nodejs中接收上传的文件

如何在nodejs中接收上传的文件

我有一个redux-from提交,控制台日志看起来像这样

{
  id: "x", 
  parentId: "b", 
  editing: true, 
  logo: FileList, 
}

我认为Logo FileList包含我上传的文件名和文件

0: File(19355) {name: "11964821.jpeg", lastModified: ......

使用fetch发送到nodejs,image包含我的文件和上面的数据

function Update(image) {

    const requestOptions = {
        method: 'POST',
        headers: { ...authHeader(), 'Content-Type': 'application/x-www-form-urlencoded' },
        body: JSON.stringify(image)
    };
    return fetch(`${apiUrl}/API`, requestOptions).then(handleResponse)
    .then( data => {  return data; });
}

但是这个数据没有接收到nodejs,因为尝试了re.file等。它显示未定义

app.post('/image', upload.single('logo'), function (req, res, next) {

})


include formdata
  const onSubmit = (image, dispatch)=>{

    var formData = new FormData(); 
    formData.append('logo',image.logo[0]);

    var imageNew = {...image,formData};

    dispatch(imageActionspanyProfileLogoUpdate(imageNew)) ;  
  }

现在是日志

formData: FormData {}
id: "5c66478b0814720a4365fe72"
logo: FileList {0: File(19355), length: 1}
parentId: "5c66478b0814720a4365fe71"
回答如下:

将formData移动到获取文件并删除标题内容类型,试试这个

function Update(image) {

var formData = new FormData(); 
formData.append('logo',image.logo[0]);  

    const requestOptions = {
        method: 'POST',
        headers: { ...authHeader() },
        body: formData
    };
    return fetch(`${apiUrl}/API`, requestOptions).then(handleResponse)
    .then( data => {  return data; });
}
发布评论

评论列表(0)

  1. 暂无评论