在React Native中上传视频时出错

时间:2020-03-28 18:04:12

标签: react-native file-upload react-native-image-picker

我正在使用react-native-image-picker从移动设备获取视频,并使用fetch方法将其上传到服务器。不知道我在做什么错吗?

constructor(props){
 super(props);
 this.state = {
   isLoading:true,
   isModalVisible: false,
   isOptionVisible:false,
   avatarSource:"",
   chapname:'',
   chapdesc:''
 }
};

var formData = new FormData();
formData.append('name', 'video name');
formData.append('desc', 'video description');
formData.append('file', {uri: this.state.avatarSource, name: this.state.avtarname.fileName, type: 'video/mp4'});

fetch(api, {
  method: "POST",
    headers: {
      'Accept': 'application/json',
      'Content-Type' :'multipart/form-data',
      'Authorization': `JWT ${teacher_token}`
    },
    body: formData
})

这是我从手机中选择视频时的响应

{path: "/storage/emulated/0/DCIM/Camera/VID_20200306_172706.mp4", uri: "content://com.miui.gallery.open/raw/%2Fstorage%2Fe…ted%2F0%2FDCIM%2FCamera%2FVID_20200306_172706.mp4"}

我收到的错误是网络请求失败。这是控制台上的错误

Fetch Error TypeError: Network request failed
at XMLHttpRequest.xhr.onerror (E:\eshikshaserver\node_modules\whatwg-fetch\dist\fetch.umd.js:473)
at XMLHttpRequest.dispatchEvent (E:\eshikshaserver\node_modules\event-target-shim\dist\event-target-shim.js:818)
at XMLHttpRequest.setReadyState (E:\eshikshaserver\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:574)
at XMLHttpRequest.__didCompleteResponse (E:\eshikshaserver\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:388)
at E:\eshikshaserver\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:501
at RCTDeviceEventEmitter.emit (E:\eshikshaserver\node_modules\react-native\Libraries\vendor\emitter\EventEmitter.js:189)
at MessageQueue.__callFunction (E:\eshikshaserver\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:436)
at E:\eshikshaserver\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:111
at MessageQueue.__guard (E:\eshikshaserver\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:384)
at MessageQueue.callFunctionReturnFlushedQueue (E:\eshikshaserver\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:110)

我知道我想念的东西,但找不到。卡在上面。

0 个答案:

没有答案