我有一个允许用户添加视频的表单:
<form enctype="multipart/form-data" method="post" action="video/save" role="form">
// other inputs ...
<input class="form-control" type="file" name="video" accept="video/mp4,video/x-m4v,video/*" capture="camcorder">
</form>
后端:
public function store(Request $request) {
dd($request->input());
}
在Android Chrome(Nexus 6)上进行测试时,视频根本没有发送,在桌面上按预期工作。
奇怪的是它在早期阶段工作了几次,但现在一直忽略“视频”,所有其他数据都很好。
该网页正在通过SSL提供
注意:它似乎偶尔会工作一次。在iOS上测试,完美无瑕。我也遇到了这个董事会(不确定它是否仍然相关),https://code.google.com/p/android/issues/detail?id=2519
更新 我已经更新了代码。
public function store(Request $request) {
$this->validate($request, [
// other validation rules,
'video' => 'required|max:20000'
]);
// do stuff
}
验证在99%的时间内失败。
作为一个黑客,我改变了形式,并使用JS中的MediaRecorder API来记录和上传Android中的视频blob,它很脏,我希望我可以使用本机摄像机。奇怪的是它有时会起作用,就像50次尝试一样。