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

标签 javascript node.js reactjs api react-redux

我有一个 redux-from 提交,控制台日志如下所示

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

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

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

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

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) {

})

<小时/> 包括表单数据

  const onSubmit = (image, dispatch)=>{

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

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

    dispatch(imageActions.companyProfileLogoUpdate(imageNew)) ;  
  }

现在日志

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

最佳答案

let formData = new FormData();
formData.append('logo' , {{your image file}}

// upload file as 
let result = await sendServerRequestForForm(url,formData);


function sendServerRequestForForm(url,data) {
var promise = new Promise(function(resolve) {
    resolve($.ajax({
        url,
        method : 'POST',
        data,
        processData: false,
        contentType: false,
        success: function(data) {
            return data
        },
        error: function (err) {
            try{
                let responseStatus = err.responseJSON
                // watch your response
            }catch (e) {
                console.log('Field to get response');
            }
        }
    }));
});
return promise

}

关于javascript - 如何在nodejs中接收上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54802005/

相关文章:

javascript - 如何在客户端管理当前用户 session ?

javascript - 从 mongodb 作为文档检索对象类型后如何获取对象类型?

javascript - ReactJS 不能使用组合组件

javascript - typescript 错误地假定该属性是只读的

javascript - 删除 DataTable(1.10.8) 后,删除的行会再次添加吗?

javascript - 功能适用于移动Safari

javascript - 计算与圆的 Angular 并避开障碍物

javascript - 实现多语言 url nextjs 和 next-i18n-next

javascript - typescript 返回对象的副本

node.js - 从 Gitlab 私有(private)存储库导入 Node 模块时出错