Итак, вчера я попытался сделать upload file function, так как когда пользователь делает свои товары, он также может загрузить изображение.Загрузите изображение и создайте его миниатюру Laravel 5.2
Но изображение было слишком большим, когда я повторял элементы, поэтому я решил использовать пакет вмешательства для изменения размера изображения, а также создать уменьшенное изображение.
Я сделал функцию, но ее частично работал.
if($file = $request->hasFile('image')) {
$file = $request->file('image');
$extension = $file->getClientOriginalName();
$username = Auth::user()->username;
$destinationPath = public_path('/uploads/products/' . $username);
$thumb = Image::make($file->getRealPath())->resize(100, 100, function ($constraint) {
$constraint->aspectRatio(); //maintain image ratio
});
$thumb->save($destinationPath.'/thumb_'.$extension);
$destinationPath = public_path('/uploads/products/' . $username);
$file->move($destinationPath, $extension);
$product['imagePath'] = '/uploads/products/'. $username . '/' . $extension;
$product['thumbnail'] = '/uploads/products/'. $username . '/thumb_' . $extension;
}
Я сделал это так, другой пользователь создаст другой файл в /uploads/products
.
Также я загружаю исходное изображение и изменение размера, чтобы у меня было: picture.jpg
и thumb_picture.jpg
.
Когда пользовательский файл не создается (от имени пользователя) Я получаю эту ошибку:
Can't write image data to path (C:\xampp\htdocs\shop\public/uploads/products/book/thumb_Jellyfish.jpg)
Когда я комментирую 6,7,8 линии, функция работает, но она будет загружать только оригинал как предполагалось. Если я удалю комментарий, миниатюра тоже будет работать!
Так что, я думаю, после создания пользовательской папки вся функция работает нормально, но до того, как у нее возникнет проблема с возможностью записи.
Любые идеи? Все будет оценено!