2017-06-07 12 views
0

我想上传到cloudinary视频和下面的代码适用于iOS,但得到Android上的错误上传开始时几乎是瞬间,该误差为Unrecognized FormData part.“无法识别的FormData部件”。上反应原生(机器人)错误的视频上传使用XMLHttpRequest

let {api_key, api_secret, cloud_name, url} = CLOUDINARY_CONFIG; 
let timestamp = (Date.now()/1000 | 0).toString(); 
let hash_string = `eager_async=true&folder=${endpoint}&timestamp=${timestamp}&use_filename=true${api_secret}`; 
let signature = CryptoJS.SHA1(hash_string).toString(); 
let formData = new FormData(); 
formData.append('timestamp', timestamp); 
formData.append('api_key', api_key); 
formData.append('signature', signature); 
formData.append('eager_async', true); 

formData.append('file', {uri: body.uri, type: 'video/mp4', name: `video_${timestamp}.mp4`}); 
formData.append('eager', [{width: 720}]); 

formData.append('folder', endpoint); 
formData.append('use_filename', true); 
let xhr = new XMLHttpRequest(); 
xhr.open('POST', url); 

xhr.onerror = (event) => { 
next(actionWith({ 
    type: failureType, 
    params 
})); 
}; 

xhr.send(formData); 

最初body.uri有一个无效的路径,它需要的file://

回答

0

找到了解决办法的前缀,问题不是要设置的工作在iOS出于某种原因宽度。

删除行formData.append('eager', [{width: 720}]);修复了这个问题。

相关问题