2017-03-03 65 views
1

我使用react-native-camera-roll-picker当我上传视频时,它正在上传图像,但这是从资产库中的mp4文件我怎样才能上传一个视频这是我的代码块,如何解决问题。react-native:上传的视频它像图像保存

let videoFile = { 
name : "1488523111.mp4" 
type : "video/mp4" 
uri : "assets-library://asset/asset.MP4?id=14E53F62-798B-4F26-9A70-A0755CEC9760&ext=MP4" 
} 


    var xhr = new XMLHttpRequest(); 
    xhr.open('POST', url); 
var formdata = new FormData(); 
formdata.append('name', 'test'); 
formdata.append('file', videoFile); 
xhr.setRequestHeader('Cache-Control', 'no-cache'); 
xhr.setRequestHeader('Authorization', 'Bearer ' + this.state.token); 
    xhr.send(formdata); 

回答

0

将其转换为Base64第一

setVideoToUpload(video){ 
    let platform = (Platform.OS === 'ios') ? 'ios' : 'android' 
    let originalHeight = video.height 
    let originalWidth = video.width 
    let path = video.uri; 
    var filename = Date.now().toString(); 



     MovToMp4.convertMovToMp4(path, filename + ".mp4", function (data) { 
      //here you can upload the video... 

      let videoToUpload = [{ 
       data: data, 
       width: originalWidth , 
       height: originalHeight, 
       imageOrVideo: 'video', 
       type: '.mp4', 
       platform: 'ios', 
       duration: video.duration, 
       uri: this.props.route.lastCaptured.path, 

      }] 

     }); 

}