【问题标题】:Laravel 5.6 How to do save images correctly on storageLaravel 5.6 如何在存储中正确保存图像
【发布时间】:2018-02-18 18:07:15
【问题描述】:

我想保存我的图像存储。但是有一些错误。

这是我在控制器中的代码;

if ($request->hasFile('site_logo')) {
     $image = $request->file('site_logo');
     $realname = pathinfo($request->file('site_logo')->getClientOriginalName(), PATHINFO_FILENAME);
     $extension = $image->getClientOriginalExtension();
     $new_name = $realname."-".time().$extension;
     $image->storeAs('public/uploads', $new_name);
     $path = Storage::url($new_name);
     $settings->site_logo = $new_name;
     $settings->site_logo_path = $path;
     $settings->site_logo_alt_name = $realname;
    }

数据库记录;

site_logo | /tmp/phpqTLyXY
site_logo_path | /storage/1518975452-logo.png
site_logo_alt_name | logo

问题;

1- 为什么 site_logo 不能得到 $new_name 而不是 "/tmp/phpqTLyXY" ?

2- $path 说“/storage/1518975452-logo.png”是图片网址。但是当我说“project.app/storage/1518975452-logo.png”时,它说“抱歉,找不到您要查找的页面”。找不到图片?

抱歉英语不好:/

【问题讨论】:

    标签: php laravel file laravel-5 laravel-5.6


    【解决方案1】:

    你需要create a symlink:

    php artisan storage:link
    

    然后你就可以访问图片了:

    project.app/storage/uploads/image_name.png
    

    【讨论】:

    • 是的,当我手动将“上传”添加到链接时,它可以工作,但 $path 仍然没有给我正确的链接。它给出“storage/logo.png”而不是“storage/uploads/logo.png”:/
    • @cervantes 如果你想获得正确的路径Storage::url('uploads/' . $new_name);,你需要这样做
    • 这次uploads 似乎但是$new_name 消失了->> 像“/storage/uploads/”这样的记录
    • @cervantes 这意味着这次$new_name 是空的。
    • 等一下.. 不是逗号! -_-。谢谢,终于可以了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 2022-10-11
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    相关资源
    最近更新 更多