Я использую Laravel / Intervention / Dropzone.js для загрузки изображений на мой сайт с помощью Ajax. У меня проблема в том, что некоторые изображения возвращают «Ошибка: 500» при загрузке. Проблема не в размере файла или размерах, я протестировал оба из них. Я считаю, что проблема в Lightroom. Изображения, которые не загружаются, являются изображениями, которые я редактировал с помощью Lightroom. Есть ли что-то, что я должен делать с изображениями (кодирование, отправка заголовков), что будет причиной этого. Все остальное работает отлично. Это мой код
if(Input::hasFile('file-upload')) {
$file = Input::file('file-upload');
$key = Input::get('_uuid');
$img = Image::make($file[0]);
$img = Image::make($file[0])->widen(500, function ($constraint) {
$constraint->upsize();
});
$img = Image::make($file[0])->heighten(1080, function ($constraint) {
$constraint->upsize();
});$fileName = Uuid::generate();
$extenstion = $file[0]->getClientOriginalExtension();
$fileItself = $fileName . '.' . $extenstion;
$path = "/uploads/" . $fileItself;
$img->save(public_path($path));
}
Параметры Dropzone.js
Dropzone.options.newPostForm = {
paramName: "file-upload",
uploadMultiple: true,
dictDefaultMessage: "",
previewsContainer: ".dropzone-previews",
clickable: "#file-upload",
maxThumbnailFilesize: 20,
maxFilesize: 30
}
Не уверен, что это поможет, но вот как я это сделал:
$upload_success = Input::file('file')->move($destinationPath, $filename);if( $upload_success ) {
return Response::json('success', 200);
} else {
return Response::json('error', 400);
}
Других решений пока нет …