首页 > 解决方案 > 将多个视频从 Ionic 上传到 PHP API

问题描述

我有一个 Ionic 应用程序,它允许用户拍摄 5 个视频并将它们上传到我的 PHP API,PHP API 需要 POST 请求中的 5 个视频,因此它将生成一个已编译的视频并将链接发送回给用户。

API 中的编译部分正在工作,我正在使用 POSTMAN 对其进行测试,但我无法将多个视频上传到 API。

我正在使用 Ionic Http Plugin 的 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));

});

标签: phpangularjsionic-frameworkionic3silex

解决方案


$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);
}

推荐阅读