我有一个Ionic应用程序,允许用户拍摄5个视频并将其上传到我的PHP API,PHP API在POST请求中希望有5个视频,因此它将生成一个已编译的视频并将其链接发送回用户。
API中的编译部分正在运行,我正在使用POSTMAN对其进行测试,但是我无法将多个视频上传到API。
我使用的是Ionic Http插件的uploadFile方法,我可以成功上传1个视频,但不能全部上传5个视频,尝试使用循环,但无法正常工作。
离子码(离子3)
let j = 0;
for( j = 0; j < this.favorites.length; j++){
this.http
.uploadFile(this.apiLink+"user/upload",{},{},this.favorites[j],"file")
.then(data => {
console.log("Data" + data);
})
.catch(error => {
console.log("Error" + error);
});
}}
PHP代码(带有Silex框架的PHP 5)
$app->post("/user/upload", function (Request $request) use ($app) {
$file1 = $request->files->get('file1');
$file2 = $request->files->get('file2');
$file3 = $request->files->get('file3');
$file4 = $request->files->get('file4');
$file5 = $request->files->get('file5');
$files = [];
array_push($files,$file1);
array_push($files,$file2);
array_push($files,$file3);
array_push($files,$file4);
array_push($files,$file5);
$rsp = upload($files);
return $app->json(array('response'=>$rsp));
});
$file1 = $request->file('dd_upload');
$file2 = $request->file('pan_upload');
$file3 = $request->file('aadhar_upload');
$file4 = $request->file('passbook_upload');
$file5 = $request->file('signature');
if(!empty($file1) && !empty($file2) && !empty($file3) && !empty($file4) &&
!empty($file5)){
$fileName1 = $file1->getClientOriginalName();
$fileName2 = $file2->getClientOriginalName();
$fileName3 = $file3->getClientOriginalName();
$fileName4 = $file4->getClientOriginalName();
$fileName5 = $file5->getClientOriginalName();
$destination = 'public/uploads/docs/'. Auth::user()->customer_id;
$file1->move($destination,$fileName1);
$file2->move($destination,$fileName2);
$file3->move($destination,$fileName3);
$file4->move($destination,$fileName4);
$file5->move($destination,$fileName5);
}