文件存储Laravel

时间:2018-08-29 07:13:32

标签: laravel storage

我正在尝试使我上传的图像可以公开访问。我已运行php artisan storage:link,该链接将public/storage链接到storage/app/public。 因此,据我了解将文件保存到文件夹photo时,我必须写:

$path = request()->file('photo')->store('public/photos');

如果我要保存此路径:

$data['photo'] = 'storage/' . $path;

我得到的路径保存为storage/public/photos/blah.jpg

然后我无法以domain.name/storage/public/photos/blah.jpg的身份访问图像,因为完整路径竟然有两个public-一个来自创建的链接,另一个我声明要保存在正确的位置文件夹。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

这样存储文件。要使用symlink使文件公开可用,则需要将文件存储在 let arr = [{a: 'abc', b: 'cd'}, {a: 'abc', b: 'xyz'}, {a: 'abc', b: 'mno'}]; let newObj = {}; let id = 123; newObj[id] = arr; console.log(newObj);文件夹内或将子文件夹存储在app/public内。

app/public

现在仅将request()->file('photo')->store(storage_path('app/public/photos')); 存储在数据库中,并像这样访问它

photos/blah.jpg