问题标签 [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 投票
3 回答
2202 浏览

laravel - 使用 Laravel 存储多次上传

我尝试使用存储上传多个文件,所以这是我的代码:

我已经像这样设置了我的表单:

它给了我这样的错误:

“类型错误:函数 Illuminate\Filesystem\FilesystemAdapter::putFileAs() 的参数太少,在第 343 行的 E:\laragon\www\blog\vendor\laravel\framework\src\Illuminate\Filesystem\FilesystemManager.php 中传递了 2 个至少 3 个预计 ◀"

所以问题是我使用 is_array 检查它是否有多个文件的方式是否正确?第二个什么会导致这个问题?

0 投票
2 回答
6212 浏览

laravel - 使用 Docker 进行 Laravel 存储

我正在为一个 Laravel 应用程序设置 Docker,该应用程序是一个内部 CDN,其中包含大量图像和其他./storage/app静态private文件public。我希望使用 GitLab CI 构建 Docker 映像,我的问题是在不覆盖存储内容的情况下构建它的正确方法是什么?这些内容不存在于 repo 中。

对此我有两个想法:

  • 创建从/var/www/html到项目的符号链接./storage/app/public /some_other_folder从到项目的符号链接./storage/app/private。在这种情况下,问题是我可以将文件写入文件夹的软链接吗?如果可以,该文件真的会出现在符号链接的原始文件夹中吗?如果所有这些都适用,我也很感兴趣,如果我真的可以创建一个符号链接到 Docker 容器内的文件夹......

  • 设置 Laravel Storage 以在外部写入文件,而不是文件夹内的文件夹。在这种情况下,问题是我应该如何配置 LaravelDocker 以允许将文件写入容器外部,将它们/var/www/html直接放入publicprivate/some_other_folder

任何一个想法是正确的/好的/甚至可以实现的吗?或者有没有其他解决问题的方法?

0 投票
0 回答
653 浏览

php - 从实例配置文件元数据服务器检索凭据时出错:使用 Laravel 的 s3

我正在使用 Laravel 开发一个 Web 应用程序。在我的应用程序中,我开发了一个将文件上传到服务器的功能。但是,我会将文件存储在 Amazon S3 存储桶中。所以,我只是关注 Laravel 官方文档 - https://laravel.com/docs/5.5/filesystem。但我收到一个错误。

首先我运行这个命令在终端中安装所需的包

然后在环境文件中,我添加了这些变量

然后在控制器中,我像这样上传。

当我上传文件时,它给了我这个错误。

我的代码有什么问题?

0 投票
0 回答
1240 浏览

php - 如何使用 laravel 存储正确获取 html 文件内容?

我正在尝试获取我之前保存的 html 文件的内容,当我检查 html 时一切都正确,但是当我尝试通过这样做访问它时:

我得到一个包含我的 html 一部分的字符串,我不明白为什么我的 html 全部被破坏,知道我可能做错了什么吗?

原始文件:

我从转储中得到的输出$html

0 投票
1 回答
2212 浏览

php - Laravel 存储:权限问题 - Storage::move() 与 get()、put()、delete()

我觉得这有点奇怪。使用 laravel Storage门面,如果我尝试移动文件:

我收到以下错误:

但是,如果我尝试显式获取文件的副本,将其写入目标,然后按如下方式删除原始文件:

它工作得很好。

我在 nginx CentOS 平台上运行 Laravel。一个稍微复杂的因素是底层文件系统是一个挂载的 Samba 共享。但是,这不会在命令行上引起任何问题。

从 shell 命令中,如果我执行移动(使用与运行 nginx 服务的用户相同的用户)mv /source/file/name1.docx /source/file/name2.docx,它不会抱怨任何权限问题。

有人有线索吗?


编辑 20/02/2018 添加更多信息

samba 挂载如下所示/etc/fstab

挂载工作正常,我可以在我的 Bash shell 中遍历文件系统。

(我不确定上述行末尾的双斜杠是否重要)。

顺便说一句,777 特权显然是由安装过程定义的。我似乎没有能力改变这一点。我将把这个特权作为一种离线活动来减少,但是为了解决这个问题,我打算证明文件系统级别的权限似乎不是问题的原因。

0 投票
3 回答
776 浏览

laravel - 在使用 laravel 上传到数字海洋空间之前重命名文件

上传我使用的文件

Storage::disk('spaces')->putFile('uploads', $request->file, 'public');

该文件已成功保存在数字海洋空间中。但我想把它重命名为这样的东西user_1_some_random_string.jpg。然后保存它。

我该怎么做?

0 投票
1 回答
2591 浏览

laravel - Laravel 在运行时更改文件系统磁盘路径

我知道 filesystems.php 来创建磁盘,我目前正在使用它,配置了 ~~ 20 个磁盘。

我对这些有一个新问题,我目前正在尝试为每个磁盘添加前缀,一个字符串。问题是运行时正在保存路径,php artisan config:cache但我需要在运行时更改它们,例如,对于用户Sergio,它需要附加Sergio/到以下磁盘,例如:

然后

并且目标是在例如中间件中设置配置,我目前正在设置 tentant 数据库已经像这样

我目前可以正确设置路径

但我很担心,因为如果在该行之前我尝试到达路径,存储会将初始路径保存在内存中,而不是在更改后重新获取它。

例如。这样做没有任何中间件。

打算发生的事情是$fullPath1输出初始路径,/var/www/html/project/storage/app/random然后$fullPath2输出/var/www/html/project/storage/app/Sergio/random

有没有办法让存储知道我已经更改了磁盘本地路径?

0 投票
1 回答
3174 浏览

php - Laravel 无法上传存储文件夹中的文件

我曾经将上传文件(图像)存储在我的公用文件夹中,但这次我想将它们存储在我的存储文件夹中,但出现此错误

错误来自这一行(我使用干预/图像包的地方)

我的功能:

任何想法?

更新

我的文件将上传到root/storage文件夹而不是root/storage/app/public/images

这是为什么?

更新 2

我将我的函数更改为下面的代码,它正在上传它应该上传的地方,但是it does not delete the old image

0 投票
1 回答
226 浏览

laravel - 如何使用 Laravel 从 VUE 的存储文件夹中导入 JSON?

我正在寻找比这更清洁的方法:

如何?

0 投票
0 回答
418 浏览

laravel - Laravel:在 Windows 中使用 Storage::move() 不起作用

我正在尝试使用 Laravel 的 Storage::move($source, $dest) 方法将内容从一个文件夹移动到另一个文件夹,但它不断抛出以下异常:

League\Flysystem\FileNotFoundException:在路径中找不到文件

路径是正确的,我双重(和三重)检查了它。我注意到的是 Storage::move() 正在使用错误的目录分隔符(反斜杠)查找文件夹。我正在使用带有 WAMP 服务器的 Windows 环境来开发我的应用程序,这是 Laravel 用来查找文件/文件夹的路径:

League\Flysystem\FileNotFoundException:在路径中找不到文件: C:/project/storage/app/temp/436826e7-bac6-44fd-a0ac-9e19394d9a88/file_name.png

$source 和 $dest 变量都有正确的路径和正确的目录分隔符:

我尝试使用 vanilla PHP 移动文件来移动文件,一切都按预期工作:

我究竟做错了什么?我该如何解决这个问题?(Windows 10 x64、WAMP 服务器和 Laravel 5.6)