首页 文章

在Laravel中编辑和复制图像[无法将图像数据写入路径]

提问于
浏览
0

我为我的项目创建了以下4个模型及其表结构:

Media.php 在app中上传图片

媒体表结构

id | path

路径示例:uploads / images / media / food-1542110154.jpg

Post.php 创建帖子

帖子表结构

id | title | content

FeaturedImage.php 特色图片发布

帖子表结构

id | post_id| path

Post model和FeaturedImage模型是一对一的关系

UploadImage.php 调整上传图像的大小并将其移动到另一个目录 . 此模型没有迁移和控制器

来自 PostsController.php 的代码片段来创建帖子

use App\UploadImage;
use App\Media;
class PostController extends Controller
{
private $imagePath= "uploads/images/post/";
public function store(Request $request)
{
    $post = new Post;
    $post->title = $request->title;
    $post->content = $request->content;
    $post->save();

    $media = Media::find($request->featured);
    if (!File::exists($this->imagePath)) {
        File::makeDirectory($this->imagePath);
    }
    $upload = new UploadImage;
    $image= $upload->uploadSingle($this->banner, $media->path, 400,300);
    $post->image()->save(new FeaturedImage([
        'path' => $image
    ]));

}
  Session::flash('success', 'Post created sucessfully !');
  return redirect()->route('post.index');
}

来自 UploadImage.php 的代码片段

use Intervention\Image\Facades\Image;
use Spatie\LaravelImageOptimizer\Facades\ImageOptimizer;
use Illuminate\Database\Eloquent\Model;
class UploadImage extends Model
{

  public  function  uploadSingle($savePath, $image,$width,$height)
 {
    Image::make(public_path($image))->fit($width, $height)->save($savePath);
    ImageOptimizer::optimize($savePath);
    return $savePath;
 }  
}

在我的Laravel应用程序中,我正在尝试使用 UploadImage.php 中编写的方法编辑已上载图像的尺寸,并将编辑后的图像保存在 post 目录中,并将其路径保存在 featured_images 表中 .

但我一直在** 无法将图像数据写入路径错误 .

如果有人能指出我所犯的错误,我将非常感激 .

请不要将此标记为重复内容 . 因为我已经完成了与这种错误相关的几乎所有帖子,他们对我没有任何帮助 .

1 回答

  • 0

    在我的UploadImage.php模型中调整了几行并得到了解决 .

    public  function  uploadSingle($savePath, $image,$width,$height)
    {
        $filename = basename($image);
        $location = $savePath . $filename;
        Image::make($image)->save($location);
        ImageOptimizer::optimize($location);
        return $location;
    }
    

相关问题