Я следил этот сайт использовать dropzone для загрузки нескольких изображений с laravel5.5. Но это не работает.
Когда я загружаю файл .jpg, возникает ошибка. Например,
[object Object]
Я хочу знать, как это решить. Поэтому, пожалуйста, дайте мне несколько советов.
UploadController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UploadController extends Controller
{
public function upload(Request $request){
$time = Carbon::now();
$image = $request->file('file');
$extension = $image->getClientOriginalExtension();
$directory = date_format($time, 'Y') . '/' . date_format($time, 'm');
$filename = str_random(5).date_format($time,'d').rand(1,9).date_format($time,'h').".".$extension;
$upload_success = $image->storeAs($directory, $filename, 'public');
if ($upload_success) {
return response()->json($upload_success, 200);
} else {
return response()->json('error', 400);
}
}
}
filesystem.php
'public' => [
'driver' => 'local',
'root' => public_path('uploads'),
'url' => env('APP_URL').'/uploads',
'visibility' => 'public',
],
web.php
Route::post('/upload' , 'UploadController@upload');
Route::get('/test', function () {
return view('uptest');});
uptest.blade.php
<!doctype html><html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<script src="{{url('js/dropzone.js')}}"></script>
<link rel="stylesheet" href="{{url('css/dropzone.css')}}">
<title>Laravel</title>
<script>
Dropzone.options.myDropzone = {
paramName: 'file',
maxFilesize: 20, // MB
maxFiles: 25,
acceptedFiles: ".jpeg,.jpg,.png,.gif",
};
</script>
</head>
<body>
<form action="{{ url('/upload') }}" enctype="multipart/form-data" class="dropzone" id="my-dropzone">
{{ csrf_field() }}
</form>
</body>
</html>
Те, которые я делаю на местном хосте.
Задача ещё не решена.
Других решений пока нет …