用 storage 上传,设置了软链接,但是依然是 404,Linux 系统

先用这个命令创建了软链接file,然后用了自带的storage方法,file,文件的确上传成功了file,软链接也有file,但是访问的时候file报了404,是哪里写出了问题吗

颠倒的玉石
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

关键的问题在于软连接,图片上传的路径是在 storage/app下,但是软连接指的是storage/app/public下,所以不管是mac,还是linux ,手动用ln -s 命令创建软链接,然后路径是www.xxx.com/storage/图片路径

4年前 评论
讨论数量: 11
yema

你把权限放开试试

5年前 评论
颠倒的玉石

@yema

file这两个及他们下面的都改成777了,仍然是404

5年前 评论
yema

看起来目录是没有问题的。你要不试一试laravel创建软连接的命令。

5年前 评论

楼主解决了吗

file我也是请求不到

5年前 评论

请使用 storage:link 命令。

5年前 评论
颠倒的玉石

@winson_wang 你这个应该是没有打开读的权限吧

5年前 评论

难了我3天左右,其实这个错误非常简单,框架的问题,public下边的storage目录已经存在,你在创建 php artisan storage:link这个命令时他会给你报错 The "public/storage" directory already exists. 这时候你讲public下的storage目录删除,重新输入php artisan storage:link 就OK了. 看不懂我表达的意思,可以重新下个框架问题也能解决。

file 看看这个正常的软连接storage会有个小符号

4年前 评论
颠倒的玉石 (楼主) 4年前

关键的问题在于软连接,图片上传的路径是在 storage/app下,但是软连接指的是storage/app/public下,所以不管是mac,还是linux ,手动用ln -s 命令创建软链接,然后路径是www.xxx.com/storage/图片路径

4年前 评论

默认disk('local') 存储的文件位置 storage/app/public/,而你手动创建软连接是在 storage/app/,现在是不对应的,要么你改下配置文件默认值,要么更换软连接

4年前 评论
颠倒的玉石

@风吹过有夏天的味道 我己经忘了当初这个怎么弄了,肯定是创建软链接问题。但当初肯定没用默认命令,因为想换个目录可以自定义命名。。。

4年前 评论
颠倒的玉石

楼主也忘了当初怎么解决得了。。。。肯定是软连接创建出了问题,不过没有用laravel自带的那个,因为想自定义路径和名字嘛

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!