如何上传Laravel 5.3
中的多个文件。如果我用1张图片试用它,但是多张图片没有上传。Laravel 5.3多个文件上传
这是我的代码:
if($request->hasFile('attachment'))
{
foreach ($request->allFiles('attachments') as $file) {
$file->store('users/' . $user->id . '/messages');
}
}
如何上传Laravel 5.3
中的多个文件。如果我用1张图片试用它,但是多张图片没有上传。Laravel 5.3多个文件上传
这是我的代码:
if($request->hasFile('attachment'))
{
foreach ($request->allFiles('attachments') as $file) {
$file->store('users/' . $user->id . '/messages');
}
}
它现在是这样的:
$files = $request->file('attachment');
if($request->hasFile('attachment'))
{
foreach ($files as $file) {
$file->store('users/' . $this->user->id . '/messages');
}
}
我不得不追加[]
的name
属性的值之后,所以:
<input type="file" name="attachment[]" multiple>
我提到你的问题Form :: file('attachment []',['multiple'=>'multiple']); – channasmcs
但这不适合我。只有最后一个文件正在上传 –
@Jamie'附件[]'没有显示在你的代码中?你的意思是它应该是? –
尝试一些像这样的事情:
public function multiple_upload() {
// getting all of the post data
$files = Input::file('images');
// Making counting of uploaded images
$file_count = count($files);
// start count how many uploaded
$uploadcount = 0;
foreach($files as $file) {
$rules = array('file' => 'required');
//'required|mimes:png,gif,jpeg,txt,pdf,doc'
$validator = Validator::make(array('file'=> $file), $rules);
if($validator->passes()){
$destinationPath = 'uploads';
$filename = $file->getClientOriginalName();
$upload_success = $file->move($destinationPath, $filename);
$uploadcount ++;
}
}
}
如果你想仍与刀片工作,你可以使用这个:
{{ Form::open(array('url' => 'upload', 'files'=>true)); }}
{{ Form::file('gallery[]', array('multiple'=>true,'accept'=>'image/*')); }}
{{ Form::submit(); }}
{{ Form::close(); }}
而在你的控制器:
files = $request->file('gallery');
if($request->hasFile('gallery'))
{
foreach ($files as $file) {
// $file->store('users/' . $this->user->id . '/messages');
//dump($file);
}
}
做你添加Form :: file('myfile []',['multiple'=>'multiple']); – channasmcs
我正在测试邮递员。所以是的,我已经做到了。 – Jamie
@Jamie你现在如何将路径保存到DB? – lewis4u