无法将图像数据写入路径。干预图像 Laravel 5.2
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 public 文件夹中创建提到的路径文件夹(通过图像保存)。这将自动工作。
如果有人使用 File Facade:
File::exists($destinationPath) or File::makeDirectory($destinationPath);
您必须记住,如果您的 $destinationPath
包含超过 1 个文件夹,您必须设置第 2 和第 3 个参数,如 $mode
和 $recursive
以创建最终目标文件夹并准备文件上传目录。
示例:
File::exists($imagePath) or File::makeDirectory($imagePath, 777, true);
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 public 文件夹中创建提到的路径文件夹(通过图像保存)。这将自动工作。
如果有人使用 File Facade:
File::exists($destinationPath) or File::makeDirectory($destinationPath);
您必须记住,如果您的 $destinationPath
包含超过 1 个文件夹,您必须设置第 2 和第 3 个参数,如 $mode
和 $recursive
以创建最终目标文件夹并准备文件上传目录。
示例:
File::exists($imagePath) or File::makeDirectory($imagePath, 777, true);