Я работаю над проектом, который включает в себя загрузку файлов. Я использую DropzoneJS и Laravel для этого проекта. Кажется, что все работает нормально, я правильно включил js и css-файлы, также форма появляется, как в примере, но проблема в том, что часть загрузки! Файлы показать падает на порядок прогресс бар пойти на 100%, но как только достиг он возвращает ошибку, как это ...Laravel и Dropzonejs, файлы не загружены правильно
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Call to a member function getClientOriginalName() on a non-object","file":"C:\\wamp\\www\\localsite\\app\\controllers\\AssetsController.php","line":121}}
Я знаю, что процесс загрузки работает ине becouse, когда я return var_dump(Input::file('file));
я получить массив входных данных. ..
..но ...
Когда я проверить файл, как этот Input::hasFile('photo')
, кажется, что файл является Emty, но он имеет форму массива.
это маршрут
Route::post('create/album','[email protected]');
Это контроллер
public function album()
{
$file = Input::file('file');
$destinationPath = 'uploads';
$filename = $file->getClientOriginalName();
$uploadSuccsess = Input::file('file')->move($destinationPath, $filename);
if($uploadSuccsess) {
return Response::json('success', 200);
} else {
return Response::json('error', 400);
}
}
Это HTML-
<form action="http://localhost/create/album" enctype="multipart/form-data" id="post-form-dropzone" class="dropzone">
</form>
<button type="submit" id="status-post-form-submit-btn" class="btn btn-sm btn-primary btn-post pull-right">Post</button>
Это JS
Dropzone.options.PostFormDropzone = { // The camelized version of the ID of the form element
acceptedFiles: "image/*", // Accept images only
autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 100,
maxFiles: 60,
addRemoveLinks: true,
// The setting up of the dropzone
init: function() {
var myDropzone = this;
// First change the button to actually tell Dropzone to process the queue.
$("#status-post-form-submit-btn").click(function(e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
}
}
Я пытался часами, но я не могу найти решение.
Заранее спасибо.
У вас есть опечатка в вашей форме HTML: 'id = post-form-dropzone'', отсутствует '' 'открытия. –
@ManuelPedrera Извините, но это не проблема, это просто копия вставки. – mateooo