所以昨天我試着做一個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線,功能的作品,但它僅上傳原照片應該是。如果我刪除評論,縮略圖也可以工作!
所以我想,在創建自定義文件夾後,整個功能工作正常,但在它有一個可寫的問題之前。
任何想法?一切都將不勝感激!