【问题标题】:multiple file upload from postman in laravel在 laravel 中从邮递员上传多个文件
【发布时间】:2016-10-24 09:08:47
【问题描述】:

我正在尝试上传多个文件,但我只得到一个文件作为回报。下面是我的代码:

public function uploadQuoteItemImage(){
 $file=Input::file('filename');

 $file_count=count($file);
  dd($file_count);
$uploadcount=0;

foreach($file as $f){
 $random_name=str_random(8);
 $destinationPath='images/';
 $extension=$file->getClientOriginalExtension();

 $filename=$random_name.'_quote_itm_image.'.$extension;  
 $byte=File::size($file); //get size of file

 $uploadSuccess=Input::file('filename')->move($destinationPath,$filename);
 $uploadcount ++;

}
if ($uploadcount == $file_count){
 QuoteItemImage::create(array(
     'quote_item_id'=>Input::get('quote_item_id'),
     'filename'=>$filename,
    'filesize'=>$byte
     ));
 return Common::getJsonResponse(true, 'image created', 200);
    }
}

即使我发送了 3 个文件,它也只返回 1 个文件。请帮忙。

【问题讨论】:

  • 你的文件输入名称是数组(name[])吗?例如。 <input type="file" name="filename[]" multiple>

标签: laravel file-upload postman


【解决方案1】:

所以在邮递员的表单数据中,您将关键属性作为文件的文件名 反过来它应该是filename[],因为您正在发送数据数组 一旦你设置它就可以正常工作了。

现在您可以检查下面的 php 代码

$files = Input::file('filename');
foreach ($files as $one) {
   $filename       = $one->getClientOriginalName();
   $listfilenames[] = $filename;
                }
echo $listfilenames

【讨论】:

  • 这里的重点是保存文件的请求参数的名称。应该是paramName[],以开闭方括号结尾。
猜你喜欢
  • 2021-10-13
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 2021-09-09
  • 2022-08-20
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
相关资源
最近更新 更多