Laravel 5 存储来自 URL 的图像
Laravel 5 Store Image from URL
我正在尝试使用对存储的干预来存储来自 URL 的图像。
这是我到目前为止尝试过的方法(尝试 1):
$path = 'http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif';
$filename = basename($path);
$image = Image::make($path);
$store = $image->storeAs('image/'.$filename,'public');
但是我得到这个错误:
Command (storeAs) is not available for driver (Gd).
然后我尝试了这个(尝试 2):
Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('/images/saveAsImageName.jpg'));
但是我得到这个错误:Can't write image data to path (C:\xampp\htdocs\app\public\/images/saveAsImageName.jpg)
在尝试 2 中,我也尝试这样做:public_path('\images\saveAsImageName.jpg')
只是为了确保不是反斜杠导致了问题,但它给了我同样的错误。
有什么帮助吗?
试试这个
Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('images/saveAsImageName.jpg'));
请注意,我在 public_path() 函数中遗漏了您的第一个斜线(“/”)。
问题是我没有创建目录(感谢@Tim Lewis)
我是这样解决的:
use File;
File::makeDirectory(public_path('images/kits/'.$microtime), 0775, true);
第一个参数是路径
第二个参数是赋予该文件夹的权限
第三个参数通常默认为 false,但如果为 true,它会递归地创建目录。这意味着它首先检查图像是否已创建,然后是工具包,然后(在本例中)是否创建了具有该微时间的文件夹。
如果 none 存在,则创建所有这些。
我正在尝试使用对存储的干预来存储来自 URL 的图像。
这是我到目前为止尝试过的方法(尝试 1):
$path = 'http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif';
$filename = basename($path);
$image = Image::make($path);
$store = $image->storeAs('image/'.$filename,'public');
但是我得到这个错误:
Command (storeAs) is not available for driver (Gd).
然后我尝试了这个(尝试 2):
Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('/images/saveAsImageName.jpg'));
但是我得到这个错误:Can't write image data to path (C:\xampp\htdocs\app\public\/images/saveAsImageName.jpg)
在尝试 2 中,我也尝试这样做:public_path('\images\saveAsImageName.jpg')
只是为了确保不是反斜杠导致了问题,但它给了我同样的错误。
有什么帮助吗?
试试这个
Image::make('http://f2b9x.s87.it/images/1/FR_laura-kithorizontal.gif')->save(public_path('images/saveAsImageName.jpg'));
请注意,我在 public_path() 函数中遗漏了您的第一个斜线(“/”)。
问题是我没有创建目录(感谢@Tim Lewis)
我是这样解决的:
use File;
File::makeDirectory(public_path('images/kits/'.$microtime), 0775, true);
第一个参数是路径
第二个参数是赋予该文件夹的权限
第三个参数通常默认为 false,但如果为 true,它会递归地创建目录。这意味着它首先检查图像是否已创建,然后是工具包,然后(在本例中)是否创建了具有该微时间的文件夹。
如果 none 存在,则创建所有这些。