Use DropzoneJS with Laravel8
Updated
•1 min read
1. Download and install
<link href="/css/dropzone.min.css" rel="stylesheet">
<script src="/js/dropzone.min.js"></script>
2. Add class to a div
<input type="hidden" name="photo" id="photo">
<div id="upload" class="dropzone"></div>

3. Create options for DropzoneJS
Dropzone.options.upload = {
url: "/upload",
paramName: "file",
maxFilesize: 2,
maxFiles: 1,
acceptedFiles: ".jpeg,.jpg,.png,.gif",
sending: function(file, xhr, formData) {
formData.append("_token", "{{ csrf_token() }}");
},
success: function(file, response) {
document.getElementById('photo').value = response.data.url;
}
};
4. Save the file on the backend
public function upload(Request $request)
{
$file = $request->file('file');
$fileName = time() . '.' . $file->extension();
$file->move(public_path('images'), $fileName);
return response()->json(['message' => 'success', 'data' => ['url' => $fileName]]);
}

