![](/img/trans.png)
[英]"Can't write image data to path" - Laravel Image Intervention
[英]Can't write image data to path. Intervention Image Laravel 5.2
public function newItem(Request $request){
$image = $request->file('image');
$img = time().'.'.$image->getClientOriginalExtension();
$watermark = Image::make('images/watermark.png');
$destinationPath = public_path('/products');
$img = Image::make($image->getRealPath());
$img->resize(300, 365, function ($constraint) {
$constraint->aspectRatio();
})->insert($watermark, 'center');
File::exists($destinationPath) or File::makeDirectory($destinationPath);
$img->save($destinationPath.'/'.$img);
}
我不斷收到無法將圖像數據寫入路徑有人能弄清楚我做錯了什么嗎? 這個問題可能看起來重復,但類似問題中的其他建議對我不起作用。
提前致謝
試試這個代碼它對我有用
public function newItem(){
$image = Input::file('image');
$destinationPath = '/products';
$img = time().'.'.$image->getClientOriginalExtension();
$watermark = Image::make('images/watermark.png');
$img = Image::make($image->getRealPath());
$img->resize(300, 365, function ($constraint) {
$constraint->aspectRatio();
})->insert($watermark, 'center');
File::exists($destinationPath) or File::makeDirectory($destinationPath);
$img->save($destinationPath.'/'.$img);
}
為了其他可能有同樣問題的人。 我是這樣解決的:
$image = $request->file('image');
$img = time().'.'.$image->getClientOriginalExtension();
$watermark = Image::make('images/watermark.png');
$destinationPath = public_path('/products');
Image::make($image->getRealPath())->resize(300, 365, function ($constraint) {
$constraint->aspectRatio();
})->insert($watermark, 'center')->save($destinationPath.'/'.$img);
我犯的錯誤是將 Image::make() 分配給一個變量。 您可以在此處查看我的代碼以及我的問題中的上述代碼。
確保在 Laravel 公共文件夾中創建提到的路徑文件夾(通過圖像保存傳遞)。 這將自動工作。
如果有人使用 File Facade:
File::exists($destinationPath) or File::makeDirectory($destinationPath);
你必須記住,如果你的$destinationPath
包含 1 個以上的文件夾,你必須設置第二和第三個參數,如$mode
和$recursive
來創建最終目標文件夾並准備文件上傳目錄。
示例:
File::exists($imagePath) or File::makeDirectory($imagePath, 777, true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.