问题标签 [laravel-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Docker Laravel Nginx,存储到 404 页面
在使用 Laravel 7 打开从我的 Web 应用程序构建上传的文件时,我遇到了一个问题。这些文件很好地存储在我的应用程序中。我还尝试在不使用 docker 的情况下在本地运行项目,一切正常,我可以毫无问题地检查文件。
在 docker 中,我有三个容器( app、web 、 db )我使用php artisan storage:link
我的静态资产可访问创建了符号链接。
这是我的 docker-compose.yml
如果有人可以帮助我解决这个问题,我将不胜感激。
laravel - 突然无法在本地访问 DO 空间(Laravel)
我有一个 laravel 网站正在运行。我们目前正在工作的三个副本 - 本地、分期和生产。
直到今天,所有这三个都可以毫无问题地访问相同的数字海洋空间。
今天,每当从本地环境发出请求时,我们都会遇到超时 - 它继续在暂存和开发中完美运行。我们的 .env 文件与应用程序密钥/名称等的接受相同。我们的配置文件是相同的。发出请求的代码是相同的。
我们收到以下错误
我们已经尝试了我们能想到的一切。我们已经完全重新启动了本地服务器(laravel 帆),但没有效果。唯一的区别是站点的本地副本是通过 http 提供的,而登台和生产都是通过 https 提供的。然而,这在过去并没有引起问题。
任何关于可能导致这种情况的想法都会非常感激。
谢谢
javascript - 使用 JS 从 Laravel 8 存储文件夹访问非公共文件
我处于以下情况:
- Laravel 8应用程序。
- 由用户上传的 STL 文件存储在
storage/app/users/{userid}
文件夹中。 - STL 是私有的,可能不在公用文件夹中,因此可能并非所有人都可以访问。
现在我正在尝试通过 javascript 访问这些私有 STL 文件,以将它们加载到我的 Three.js 场景中以供查看。
我的问题是:如果我尝试使用storage_path()
我的 Laravel 控制器中的函数预先从数据库中获取文件路径,然后将此文件路径(例如本地/Users/Leon/MyLaravelApp/storage/app/users/1/file.stl
:)传递给我的 Three.js STLLoader 函数:
我 - 当然 - 每次尝试时都会收到错误消息 404,因为给定的路径是相对于我的网络根目录的,因此不正确!
[错误] 加载资源失败:服务器响应状态为 404(未找到) http://127.0.0.1:8000/Users/Leon/MyLaravelApp/storage/app/users/1/file.stl
现在我的问题是:
有没有办法解决这个问题?如何在我的 Laravel 8 应用程序中从 javascript 访问私有文件(不在公用文件夹中)?必须有解决方案吗?
我想到的其他解决方案:
- 将文件直接存储在数据库中-> 文件太大?!
- 在数据库的公共(!)文件夹中存储文件的“安全”加密文件路径->不够安全?!
但这两种“解决方案”绝对不是我的最爱之一!
也许有人可以指出我正确的方向?
最好的问候,莱昂
laravel - 找不到图片
这是我的刀片看起来像:
<img src="{{ asset('/assets/img/logo.png') }}" alt="logo" width="60px" height="60px">
这是我的文件夹结构
Oracle Apex 更改链接列颜色
这是我的刀片看起来像:
<img src="{{ asset('/assets/img/logo.png') }}" alt="logo" width="60px" height="60px">
这是我的文件夹结构
laravel - Laravel 存储在存储上传后出现 404 错误
这是我的代码,我如何上传到存储和检索文件。也许我做错了。
好吧,我必须将它上传到公共/证书,但要从存储中获取它,我必须使用存储/证书。请帮忙。有没有其他方法可以从存储文件中获取文件 URL?有什么更聪明的选择吗?
laravel - 如何防止文件在数字海洋空间上公开?
大家好,我在 Digital Ocean 上想阻止我的文件公开。
首先。我像这样设置 .env 文件
然后我设置 config->filesystem.php
之后让控制器存储文件
在我的刀片模板上,我像这样检索文件
当我没有将可见性设置为公开时,这就是我得到的
如果我将 filesystem.php 中的可见性设置为公开。我可以在没有身份验证的情况下查看文件。
提前感谢您的任何帮助或建议。
php - 如何从 laravel 的网络浏览器访问上传的文件?
这就是我将文件上传到 laravel 项目中所做的工作。
公共磁盘
该文件上传到 app/public/products 内的存储文件夹中,但是当我尝试检索显示 404 错误的文件时。即使我已经创建了与公用文件夹的符号链接但无法正常工作。我不知道为什么,但文件没有显示在公用文件夹中。文件仅在存储文件夹中上传项目级别或私有文件夹。我如何通过网络浏览器访问该文件。
php - 如何从存储在远程 FTP 服务器上的文件在 Lavarel 中创建 ZIP 下载?
我需要使用 FTP 从其他主机(子域)中的文件夹创建 ZIP 文件。
我需要从 FTP 获取下载链接。
laravel - Laravel 存储框架允许的源路径类型和格式
Laravel 的存储框架实际上使用了三种不同的“类型”或“格式”,尽管文档没有明确说明:
- 一个“短”路径,可以传递给存储框架的大多数方法,并且始终与磁盘相关,例如
Storage::put('the/short/path', $content)
. - 作为下载链接的结果
Storage::url('the/short/path')
并适合作为下载链接的 URL - 一个“完整”路径,它是
Storage::path('the/short/path')
. 全路径的格式取决于底层存储引擎的具体实现
存储层提供了复制Storage::copy(string $src, string $dst)
和移动Storage::move(string $src, string $dst)
文件的方法。源和目标支持什么路径类型/格式?该文档没有说明任何内容。虽然目的地总是必须是一条短路径似乎相当明显(因为目的地应该在磁盘内的某个地方),但我想知道这是否也适用于源。尤其是:
可以
$src
是完全限定的 URL 吗?例如,是否Storage::copy('https://upload.wikimedia.org/wikipedia/commons/somefile.xyz', 'the/short/path')
可以将可下载文件的副本放入存储中?注意,这个问题特别有趣,如果存储不是本地存储,则放入 S3 存储。我如何直接将文件从另一台服务器加载到 S3 存储桶中,而不使用先将文件下载到自己的机器然后再次上传文件的绕道?
如何将存储在自己机器上的文件复制/移动到存储中?例如,是否
Storage::move('/an/absolute/path/to/file/on/current/machine', 'the/short/path')
可以将文件移动/复制到存储中(假设设置了足够的权限)?如何以最有效的方式在不同存储之间移动/复制文件?
如果两个存储都是本地存储?
当然,我可以做这样的事情
但这感觉不对。
如果两个存储是不同的 S3 存储?
下面的工作吗?
在混合情况下?
如果存储类型未知?