Я использую Dropzone js для загрузки нескольких изображений (Dropzone программно).
Загрузка файлов, это нормально.
Но когда я удаляю файл, произошла ошибка:
- 500 Внутренняя ошибка сервера (Метод App \ Modules \ Product \ Controllers \ ProductController :: delete не существует - у меня нет метода delete () в контроллере - почему?).
- Невозможно прочитать свойство 'removeChild' со значением null
Мой маршрут
Route::post('/adminks/products/delete/dropzone', 'ProductController@deleteImageDropzone')->name('be.delete.dropzone');
Мой контроллер
public function deleteImageDropzone(Request $request) {
$image = $request->filename;
ProductImage::where(['image_name' => $image, 'model' => 'Product', 'module' => 'Product'])->delete();
$path = public_path().'/uploads/images/product/product/'.$image;
if (file_exists($path)) {
unlink($path);
}
return $image;
}
My JS
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("div#dropzone_images", {
url: "{{ route('be.upload.dropzone') }}",
sending: function (file, xhr, formData) {
formData.append('_token', $('meta[name="csrf-token"]').attr('content'));
var code = '{{ $code }}';
formData.append('code', code);
},
paramName: 'others_image',
addRemoveLinks: true,
acceptedFiles: '.jpeg,.jpg,.png,.gif',
dictRemoveFile: 'Xóa ảnh',
init: function() {
this.on("removedfile", function(file) {
var name = file.upload.filename;
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf_token"]').attr('content')
},
type: 'POST',
url: '{{ url('/adminks/products/delete/dropzone') }}',
data: { filename: name },
success: function (data){
console.log("File has been successfully removed!!");
},
error: function(e) {
console.log(e);
}});
var fileRef;
return (fileRef = file.previewElement) != null ?
fileRef.parentNode.removeChild(file.previewElement) : void 0;
});
}
});
Есть решение? Все комментарии уважаемы! Большое спасибо!