Laravel 5 Laravel,从公用/上载文件夹获取图像
控制器:Laravel 5 Laravel,从公用/上载文件夹获取图像,laravel-5,laravel-5.1,Laravel 5,Laravel 5.1,控制器: public function index() { if (!file_exists("uploads/profiles/".\Auth::User()->id.".jpeg")) { $image_content = File::get("uploads/profiles/default.jpg"); $image = response($image_content, 200)->header('Content-Type', 'i
public function index()
{
if (!file_exists("uploads/profiles/".\Auth::User()->id.".jpeg")) {
$image_content = File::get("uploads/profiles/default.jpg");
$image = response($image_content, 200)->header('Content-Type', 'image/jpeg');
$size = getimagesize($image);
$aspectratio = $size[0]/$size[1];
$img_thumbnail = Image::make($image)->resize(50*$aspectratio,50);
$img_profile = Image::make($image)->resize(160*$aspectratio,160);
$imgname = \Auth::User()->id;
$img_thumbnail->save('uploads/thumbnails/'.$imgname.".jpeg");
$img_profile->save('uploads/profiles/'.$imgname.".jpeg");
}
错误::无法打开流:没有这样的文件或目录
实际上,我想获取default.jpg图像并将其保存到另外两个具有不同扩展名的文件夹中。请确保您有权
上载/profiles/
public function index()
{
if (!file_exists("uploads/profiles/".\Auth::User()->id.".jpeg")) {
$image = File::get("uploads/profiles/default.jpg");
return response($image)->header('Content-Type', 'image/jpeg');
}
chmod -R 777 /uploads/profiles/
@zkanoca这不会有任何作用。您看到的输出是正确的。但是,您需要让响应服务于正确的
内容类型
标题。您使用的是Mac、Linux或Windows吗?我认为您需要为要将图像输出到的文件夹授予适当的权限。是的,我已经这样做了,但我修改了问题。但是,我必须从文件夹“/uploads/profiles/default.jpg”中获取default.jpg,然后将其保存到另一个目标“/uploads/thumbnails/。\Auth::User()->id..jpeg”。但是在您的解决方案中,我无法获取default.jpg。(!file_存在('uploads/profiles/。\Auth::User()->id..jpg')){$save_extension='.jpeg';Image::make('/uploads/profiles/default.jpg')->resize(50,null,函数($constraint){$constraint->aspectRatio();})->save('uploads/thumbnails/'。\Auth::User()->id.$save_extension);Image::make('/uploads/profiles/default.jpg')->resize(160,null,函数($constraint){$constraint->aspectRatio();})->save('uploads/profiles/'。\Auth::User()->id.$save_extension);}
将Image::make($img)更改为Image::make('/uploads/profiles/default.jpg'))文件夹中是否存在“/uploads/profiles/default.jpg”?是的,已授予该文件夹权限,因为我已将照片保存在该文件夹中。但这里的问题是获取default.jpg,然后将其保存到其他目标。当我获取default.jpg时,它将以blob形式出现,而不是在与geti不兼容的正确图像中法师
if( !file_exists('uploads/thumbnails/'. $folder)){
@mkdir('uploads/thumbnails/'. $folder, 0755);
}
if( !file_exists('uploads/profiles/'. $folder)){
@mkdir('uploads/profiles/'. $folder, 0755);
}
$img = 'uploads/profiles/'. \Auth::User()->id. '.jpeg';
if ( !file_exists($img)){
$save_extension = '.jpeg';
Image::make($img)
->resize(50, null, function ($constraint) {
$constraint->aspectRatio();
})->save('uploads/thumbnails/' . \Auth::User()->id . $save_extension);
Image::make($img)
->resize(160, null, function ($constraint) {
$constraint->aspectRatio();
})->save('uploads/profiles/' . \Auth::User()->id . $save_extension);
}