如何上傳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