问题
I have the basic script Uikit 2 for upload images and it don't upload images on public images directory. Why?
upload.blade.php
<form id="upload" action="#" method="POST" enctype="multipart/form-data">
<div id="upload-drop" class="uk-placeholder">
<i class="uk-icon-upload uk-icon-large"></i>Select files<input id="upload-select" name="files[]" type="file" accept="image/*" multiple>
</div>
<div id="progressbar" class="uk-progress uk-hidden">
<div class="uk-progress-bar" style="width: 0%;">...</div>
</div>
</form>
$(function(){
var progressbar = $("#progressbar"),
bar = progressbar.find('.uk-progress-bar'),
settings = {
action: '{{ route('upload') }}', // upload url
allow : '*.(jpg|jpeg|gif|png)', // allow only images
. . .
routes file:
Route::post('/upload',['as' => 'upload', 'uses' => 'upload@upload']);
controller file upload.php:
class upload extends Controller
{
public function upload(Request $request)
{
$images = $request->file('files');
foreach($images as $key => $image) {
$filename = $image->getClientOriginalExtension();
$image->move(public_path().'/images',$filename);
}
}
}
回答1:
to upload an array of files you should use files method instead file method:
$images = $request->files('files');
来源:https://stackoverflow.com/questions/54886986/upload-images-with-uikit-2-laravel