【发布时间】:2019-11-09 02:47:23
【问题描述】:
我在 Laravel 中上传图片时遇到问题。有时图像需要重新定向 - 使用干预图像执行此操作时,它只返回一个布尔值而不是 s3 中图像的路径。在没有干预图像的情况下使用它可以正常工作
我试过 exif 读取数据并使用imagerotate 无济于事,它出错了
我运行以下
$image = $request->file('photo');
$path = \Storage::disk('s3')->put('users/'.\Auth::id().'/posts', $image, 'public');
dd($path); // /users/1/posts/39grjigrje.jpg
$path 变量很棒,它是 s3 路径,但是正在运行:
$image = $request->file('photo');
$image = \Image::make($image);
$image->orientate();
$path = \Storage::disk('s3')->put('users/'.\Auth::id().'/posts', $image, 'public');
dd($path); // true
$path 变量只是一个布尔值,不会返回存储的文件路径
我希望有一条路径,例如/images/1/kfjeieuge.jpg 当我不使用干预图像时得到,当我使用干预时得到一个布尔值。
【问题讨论】:
-
你误会了吗?也许这表明它不起作用。通常你必须将字符串存储在文件中。
-
它目前返回 true 但是我在 s3 中看不到
-
您可以将干预图像转换为类似
->put(..., (string) $image->encode('jpg', 75), ...);的字符串 -
那仍然返回 true?
-
@iLC,您能否确认在第一种情况下文件是否也确实已上传?
$path = \Storage::disk('s3')->put('users/'.\Auth::id().'/posts', $image, 'public');
标签: php laravel amazon-s3 intervention