【发布时间】:2019-04-28 19:05:36
【问题描述】:
我目前正在使用base64 编码上传视频和图像,但强烈建议使用替代方法。我正在使用RNFetchBlob 读取编码文件,然后将其附加到SuperAgent 进行上传。我已经看到了一些使用 FormData 附加文件的示例,但找不到完整的工作示例。如果有人可以提供有关如何实现此目的的代码示例,我将不胜感激。
RNFetchBlob.fs.readFile(filePath, 'base64')
.then((base64data) => {
let base64Image = `data:video/mp4;base64,${base64data}`;
let uploadRequest = superagent.post(uploadURL)
uploadRequest.attach('file',base64Image)
Object.keys(params).forEach((key) => {
uploadRequest.field(key,params[key])
})
uploadRequest.on('progress', function(e) {
this.props.setVideoUploadProgress(e.percent)
}.bind(this))
uploadRequest.end((err,resp) => {
})
})
【问题讨论】:
-
是否有必要使用 base64 编码?我可以向您展示将视频和图像上传到云并将视频网址和图像网址附加到数据库的其他替代方法。这只是一个建议。如果你想要我的替代品,请发表评论!
-
我宁愿完全避免使用 base64 编码,但我只是不确定如何实现这一点。我已经读过,在使用 react native 时不建议使用字节数组进行上传,所以我只是不确定我的替代方案是什么。谢谢。
标签: react-native image-uploading superagent