问题标签 [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.

0 投票
1 回答
609 浏览

php - Docker Laravel Nginx,存储到 404 页面

在使用 Laravel 7 打开从我的 Web 应用程序构建上传的文件时,我遇到了一个问题。这些文件很好地存储在我的应用程序中。我还尝试在不使用 docker 的情况下在本地运行项目,一切正常,我可以毫无问题地检查文件。

在 docker 中,我有三个容器( app、web 、 db )我使用php artisan storage:link 我的静态资产可访问创建了符号链接。

这是我的 docker-compose.yml

如果有人可以帮助我解决这个问题,我将不胜感激。

0 投票
1 回答
283 浏览

laravel - Laravel 存储不保存图像

我正在尝试将图像保存在存储中。这是我的代码

我使用 vue filepond 组件作为我的图片上传器来自 vue 前端的请求:

这里它抛出以下错误:

ErrorException: fopen() 期望参数 1 是有效路径,文件中给出的字符串...

这是我保存图像的 API 请求: 在此处输入图像描述

我想将我的图片存储在 storage/images/institution-logo/image.jpg

另一个问题是最好保存在哪里:

1)存储/图像/..或
2)公共/存储/图像/...?

提前致谢 !

0 投票
1 回答
157 浏览

laravel - 突然无法在本地访问 DO 空间(Laravel)

我有一个 laravel 网站正在运行。我们目前正在工作的三个副本 - 本地、分期和生产。

直到今天,所有这三个都可以毫无问题地访问相同的数字海洋空间。

今天,每当从本地环境发出请求时,我们都会遇到超时 - 它继续在暂存和开发中完美运行。我们的 .env 文件与应用程序密钥/名称等的接受相同。我们的配置文件是相同的。发出请求的代码是相同的。

我们收到以下错误

我们已经尝试了我们能想到的一切。我们已经完全重新启动了本地服务器(laravel 帆),但没有效果。唯一的区别是站点的本地副本是通过 http 提供的,而登台和生产都是通过 https 提供的。然而,这在过去并没有引起问题。

任何关于可能导致这种情况的想法都会非常感激。

谢谢

0 投票
0 回答
170 浏览

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 访问私有文件(不在公用文件夹中)?必须有解决方案吗?


我想到的其他解决方案:

  • 将文件直接存储在数据库中-> 文件太大?!
  • 在数据库的公共(!)文件夹中存储文件的“安全”加密文件路径->不够安全?!

但这两种“解决方案”绝对不是我的最爱之一!


也许有人可以指出我正确的方向?

最好的问候,莱昂

0 投票
3 回答
471 浏览

laravel - 找不到图片

这是我的刀片看起来像:

<img src="{{ asset('/assets/img/logo.png') }}"  alt="logo" width="60px" height="60px">

这是我的文件夹结构

这是我的刀片看起来像:

这是我的文件夹结构

图像文件

当我尝试查看刀片时,它很好。但是当我尝试使用 Laravel-Excel 导出为 PDF 时,出现错误

http://localhost:8000/assets/img/logo.png 未找到!

我已经将asset()更改为url()并且没有laravel功能,但错误仍然存​​在,有什么建议吗?


Oracle Apex 更改链接列颜色

我在 apex 应用程序中有交互式报告,其中第一列USER_GID包含链接或者是链接列。

如何更改链接的颜色?

在此处输入图像描述

此处列USER_ID包含链接。

所以 23 是一个链接,我想将其颜色更改为蓝色。

所以链接是有区别的。

我怎样才能做到这一点?

顶点 20.2

0 投票
1 回答
103 浏览

laravel - Laravel 存储在存储上传后出现 404 错误

这是我的代码,我如何上传到存储和检索文件。也许我做错了。

好吧,我必须将它上传到公共/证书,但要从存储中获取它,我必须使用存储/证书。请帮忙。有没有其他方法可以从存储文件中获取文件 URL?有什么更聪明的选择吗?

0 投票
0 回答
64 浏览

laravel - 如何防止文件在数字海洋空间上公开?

大家好,我在 Digital Ocean 上想阻止我的文件公开。

首先。我像这样设置 .env 文件

然后我设置 config->filesystem.php

之后让控制器存储文件

在我的刀片模板上,我像这样检索文件

当我没有将可见性设置为公开时,这就是我得到的

如果我将 filesystem.php 中的可见性设置为公开。我可以在没有身份验证的情况下查看文件。

提前感谢您的任何帮助或建议。

0 投票
2 回答
508 浏览

php - 如何从 laravel 的网络浏览器访问上传的文件?

这就是我将文件上传到 laravel 项目中所做的工作。

公共磁盘

该文件上传到 app/public/products 内的存储文件夹中,但是当我尝试检索显示 404 错误的文件时。即使我已经创建了与公用文件夹的符号链接但无法正常工作。我不知道为什么,但文件没有显示在公用文件夹中。文件仅在存储文件夹中上传项目级别或私有文件夹。我如何通过网络浏览器访问该文件。

0 投票
1 回答
283 浏览

php - 如何从存储在远程 FTP 服务器上的文件在 Lavarel 中创建 ZIP 下载?

我需要使用 FTP 从其他主机(子域)中的文件夹创建 ZIP 文件。

我需要从 FTP 获取下载链接。

0 投票
0 回答
14 浏览

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 存储?

      下面的工作吗?

    • 在混合情况下?

    • 如果存储类型未知?