在routes.php文件,我有以下途径:Laravel 5.2&Dropzone.js - 删除(删除)上传的图片
Route::post('dropzone', ['as' => 'dropzone.upload', 'uses' => '[email protected]']);
Route::post('dropzone/delete', ['as' => 'dropzone.delete', 'uses' => '[email protected]']);
在AdminPhotoController.php我按以下方式做:
public function dropzoneUpload(Request $request)
{
if($request->ajax()) { // hmm, do I really need this?
if ($request->hasFile('file') && $request->file('file')->isValid()) {
$image_file = $request->file('file');
$image_name = time() . '_' . $image_file->getClientOriginalName();
$destinationPath = 'images/photos';
if ($image_file->move($destinationPath, $image_name)) {
$photo = new Photo(['file_name' => $image_name, 'title' => 'No title', 'description' => 'No description']);
\Auth::user()->photos()->save($photo);
return \Response::json('success', 200);
} else {
return \Response::json('error', 400);
}
}
}
}
最后,这里是我的HTML & JS:
<div class="dropzone" id="dropzoneFileUpload">
</div>
<script type="text/javascript">
Dropzone.autoDiscover = false; // to disable the auto discover behaviour of Dropzone (sami ga definisemo ispod)
var myDropzone = new Dropzone("div#dropzoneFileUpload", {
url: "{{ route('dropzone.upload') }}",
headers: {
'X-CSRF-TOKEN': '{!! csrf_token() !!}'
}
});
</script>
它工作,上传文件的作品。但我希望删除链接删除上传的图像。我正在阅读有关http://www.dropzonejs.com/的官方文档,但我仍然不知道如何去做。我看到有:
- removedfile事件 - 每当一个文件从列表中移除时调用。如果你愿意,你可以收听这个文件并从服务器上删除文件;
- 和.removeFile(file)方法 - 如果要从dropzone中删除添加的文件,可以调用.removeFile(file)。此方法还会触发removedfile事件。
于是我开始喜欢这一点,但我不知道该怎么做,如何删除这些图片:
Dropzone.options.dropzoneFileUpload = { // div has id=dropzoneFileUpload?
addRemoveLinks: true, // but still link to delete is not displayed?
dictRemoveFile: 'Remove'
};
myDropzone.on("complete", function(file) {
myDropzone.removeFile(file); // What should I do here?
});
。
编辑:
如果我删除此代码:现在
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("#my-dropzone", {
url: "{{ route('dropzone.upload') }}",
headers: {
'X-CSRF-TOKEN': '{!! csrf_token() !!}'
}
});
的解决方案,即@Manuel阿扎尔给将工作,删除的链接显示(每个上传的图片)。所以,这个代码有一些问题,缺少一些东西。
我甚至不得到“删除链接”显示...我有'addRemoveLinks:真,dictRemoveFile:“删除”'但上传后图像,缩略图显示 - 但没有任何“删除e“链接。 – PeraMika
它可能是一个版本问题,你使用的是哪个dropzone.js版本?并且在尝试删除文件时请将任何控制台错误(如果有的话)放入。检查html源代码以查看是否显示删除链接。 –
我使用从这里下载的最新版本:https://github.com/enyo/dropzone/releases/tag/v4.3.0没有控制台错误。我检查了HTML源代码并没有删除链接,它们没有呈现。 – PeraMika