小编Hao*_*hen的帖子

React Native IOS应用程序无法通过Express + multer服务器上传图像

React Native IOS应用程序,想上传图片; 从设备.RN 0.39.2

客户:

const formData = new FormData()
formData.append('files', file)
formData.append('type', 'image')

fetch(API_HOST+UPLOAD_AVATAR,{
    method:'post',
    headers: {'Content-Type':'multipart/form-data;boundary=6ff46e0b6b5148d984f148b6542e5a5d','Authorization': 'Bearer'+' '+token},
    body: formData
 })
 .then(response=>response.json())
 .then(data=>{
                      //console.log(data)
                      //Alert.alert(data)
  })
  .catch(error=>{
      console.log(error)
  })
Run Code Online (Sandbox Code Playgroud)

服务器:

var multer = require('multer');
var upload = multer();
router.post('/user', ensureAuthenticated, upload.any(), function (req, res) {

    console.log(req.body);
    console.log(req.files);
})
Run Code Online (Sandbox Code Playgroud)

错误:

server req.body和req.files为空.

然后我尝试使用RNFetchBlob.

     RNFetchBlob.fetch('POST', API_HOST+UPLOAD_AVATAR, {
           'Content-Type':'multipart/form-data;boundary=6ff46e0b6b5148d984f148b6542e5a5d'
           'Authorization' : 'Bearer'+' '+token
     }, formData)
     .then((resp) => {

     }).catch((err) => {
         // ...
     })
Run Code Online (Sandbox Code Playgroud)

然后错误改为

NSMutableDictionary无法转换为NSString.

而且req.body是{},req.files是未定义的

express multer react-native

6
推荐指数
1
解决办法
260
查看次数

标签 统计

express ×1

multer ×1

react-native ×1