好的,我在任何地方都找不到帮助。
我所有的路径都设置为755(应该有足够的访问权限),但仍然出现错误。
我的存储和公用文件夹已链接。
这是我的代码:
if (Input::hasFile('file')) {
$image = Image::make($_FILES['file']['tmp_name']);
$image->fit(200);
$image->save('public/avatars/user77.jpg');
}
答案 0 :(得分:0)
您是否将Intervention用于Image
?几个月前,我遇到了类似的问题。我最终使用Image
从stream()
获取图像数据,然后使用Laravel的Storage
门面来保存图像数据。
use Illuminate\Support\Facades\Storage;
if (Input::hasFile('file')) {
$image = Image::make($_FILES['file']['tmp_name'])->fit(200)->stream('jpg');
Storage::put('public/avatars/user77.jpg', $image);
}
如果需要,请参阅this article了解有关Laravel文件系统的更多信息。
答案 1 :(得分:0)
检查目录是否存在,如果没有这样的目录,则将其创建:
if (!file_exists($save_path)) {
mkdir($save_path, 666, true);
}
答案 2 :(得分:0)
我能够提出一个解决方案,而无需使用Intervention,这是我的项目所不允许的:
if ($request->hasFile('file')) {
$image = file_get_contents($_FILES['file']['tmp_name']);
Storage::disk('images')->put('user77.jpg', $image);
}
根据我的理解, file_get_contents
通常用于外部URL和您拥有的内容,但是该解决方案适用于我的图像。这特别方便,因为我使用的是Froala编辑器,因此发送请求的方式受到限制。