gpt4 book ai didi

linux - 公开上传的文件不显示

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:12 26 4
gpt4 key购买 nike

我在显示公用文件夹中上传的文件时遇到问题。每次尝试从公用文件夹加载文件时,我总是遇到 404 错误。

文件上传的所有测试都顺利通过,文件可以加载,文件存在于数据库和公用文件夹中,符号链接(symbolic link)已创建,但我无法显示公用文件夹中的内容。

代码的主要部分:

上传 Controller .php

$path = $request->file( 'userfile' )->store( 'logos', 'public' );

在此之后的文件夹中:

/storage/app/public/logos/file.ext

在 Blade 模板中使用文件:

<img src="{{ asset( $model->image_path ) }}" />

浏览器的响应 404 - 找不到页面

有关服务器文件夹的更多信息:

/public/storage  - this is the symlink to the public folder 777 permission
/storage/app/public - the storage public folder 775 permission
/storage/app/public/logos - the logo folder 755 permission
/storage/app/public/logos/file.ext - the file 644 permission

我尝试将文件权限更改为 775,但始终是 404

我该如何解决这个问题?谢谢

[编辑]我发现与可以看到公共(public)文件的另一台服务器不同。当 ls -l <​​/p> 时,该服务器中的符号链接(symbolic link)具有绿色背景

最佳答案

这个问题的解决方案是在 uploaderController.php 中,当您保存上传文件的路径时,您必须在“storage”文件夹之前添加。

上传 Controller .php

$path = $request->file( 'userfile' )->store( 'logos', 'public' );

$data = [ 'image_path'=>"storage/{$path}" ];
$model->update( $data );

关于linux - 公开上传的文件不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53833685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com