上传视频到服务器
Posted
技术标签:
【中文标题】上传视频到服务器【英文标题】:Uploading video to server 【发布时间】:2018-12-03 07:57:38 【问题描述】:我在我的应用程序中使用 react-native-camera(^0.6.0),我必须将录制的视频作为多部分数据上传到服务器。在android中,他们是这样发布的,
_parts: [
[
'file',
name: 'VID_20181130_150959.mp4',
uri: 'file:///storage/emulated/0/DCIM/VID_20181130_150959.mp4',
type: 'video/mp4'
]
]
但在 ios 中,文件路径返回为 assets-library://asset/asset.mov?id=41B76A24-1018-46C1-A658-C1EFFC552FD0&ext=mov 但如果我发布资产路径,它不会上传。
_parts: [
[
'file',
name: '41B76A24-1018-46C1-A658-C1EFFC552FD0.mov',
uri: 'assets-library://asset/asset.mov?id=41B76A24-1018-46C1-A658-C1EFFC552FD0.mov',
type: 'video/mov'
]
]
谁能帮我解决这个问题???
我正在使用 iPhone 6 来调试代码,
var url = DomainAPI.lashHostname + '/attachments?token=' + value + '&class=Quick';
fetch(url,
method: 'POST',
headers:
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
,
body: JSON.stringify(formData)
).then((response) => response.json())
.then((responseData) =>
console.log('responseData------->************$$$$$$$$$$$' + JSON.stringify(responseData));
if (responseData.error.code == 0)
this.sendFiletoServer(responseData.id, value);
else
this.setState( loading: false );
Actions.pop();
).catch((err) =>
console.log('responseData-------> err ************$$$$$$$$$$$' + JSON.stringify(err));
this.setState( loading: false );
Actions.pop();
);
【问题讨论】:
你能显示你的上传代码吗?也许在世博小吃? 请检查上面添加的@Raptor 仍然看不到关键部分,即如何生成formData
。阅读this 和this
【参考方案1】:
查看此代码对我有用,希望对您有所帮助
let formData = new FormData();
formData.append("videoFile",
name: name.mp4,
uri: video.uri,
type: 'video/mp4'
);
formData.append("id", "1234567");
try
let response = await fetch(url,
method: 'post',
headers:
'Content-Type': 'multipart/form-data',
,
body: formData
);
return await response.json();
catch (error)
console.log('error : ' + error);
return error;
【讨论】:
以上是关于上传视频到服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中以编程方式上传到服务器之前减小视频的大小[关闭]
安卓---视频模块需求-视频上传到亚马逊服务器-内容分片上传
Android---视频模块需求-视频上传到亚马逊服务器-内容分片上传