在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