如何在 Laravel 中“app”文件夹之外的文件夹内创建文件路径?

问题描述 投票:0回答:1

例如,这是我的文件结构:

  • 我的项目
    • 应用程序
    • 引导程序
    • 配置
    • 数据库
    • 节点模块
      • pdfjs-dist
        • 构建
          • pdf.js
    • 公共
      • 上传
        • 文件
          • solution_12.pdf
    • 资源

因此,当我在网络浏览器中输入 http://127.0.0.1:8000/uploads/documents/solution_12.pdf (1) 时,它工作正常,网络浏览器显示 pdf 文件。但是当我输入 http://127.0.0.1:8000/node_modules/pdfjs-dist/build/pdf.js (2) 时,我收到未找到错误。 那么有人可以向我解释一下 Laravel 中的路径是如何工作的吗?为什么 (1) 链接不包含“公共”路由(upload/documents/solution_12.pdf 存储在公共文件夹内)但它仍然有效?为什么(2)链接返回未找到?

php laravel file url
1个回答
0
投票

Laravel 从 public/index.php 文件提供整个应用程序,这意味着当您运行

php artisan serve
或在服务器/云上托管时,您必须将域根指向
/public
。因此,服务器可以访问
public
文件夹中的所有文件。如果您希望从
node_modules
访问文件,则必须将文件路径添加到
laravel mix
vite
配置中,这样会将它们复制/编译到公共文件夹中。

为了获得最佳实践,文件应上传到

storage
文件夹中,您可以通过执行
public
命令将其符号链接到
php artisan storage:link
文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.