问题标签 [laravel-filesystem]

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 投票
6 回答
21212 浏览

laravel - Laravel 5:如何将本地文件复制到 Amazon S3?

我在 Laravel 5 中编写代码来定期备份 MySQL 数据库。到目前为止,我的代码如下所示:

我在网上看到了一些解决方案,建议我这样做:

但是,对于大文件,使用 file_get_contents() 不是很浪费吗?有没有更好的解决方案?

0 投票
2 回答
272 浏览

laravel-filesystem - Laravel 没有在服务器上上传实际文件

我最近主持了我的第一个 Laravel 项目。因此,这意味着公用文件夹处于打开状态,public_html而其他文件夹位于根目录中的一个文件夹上。

我正在将文件上传到服务器并收到错误Could not create img/photos directory(释义)。我用谷歌搜索了很长一段时间,之后我给了 777 权限,img并且photos错误消失了。唯一的问题是,现在没有发现错误,只是文件没有被上传。

注意:在我设置的表单声明中'files'=>true,我已经正确修改了我的自动加载和paths.php路径。

可能是什么问题?

0 投票
5 回答
113141 浏览

laravel - Laravel 5 干预中的图像验证

我已经在 Laravel 5.1 中安装了干预,我正在使用图像上传和调整大小,如下所示:

我不明白的是,干预如何处理上传图像的验证?我的意思是,干预是否已经在其中进行了内置图像验证检查,还是我需要使用 Laravel 手动添加Validation以检查文件格式、文件大小等?我已经阅读了干预文档,但在使用 laravel 干预时,我找不到有关图像验证如何工作的信息。

有人可以指出我正确的方向吗..

0 投票
2 回答
11339 浏览

php - 如何使用谷歌云存储作为 Laravel 5 文件系统?

我正在开发一个允许我的用户上传文件的应用程序,并且我已经使用文件系统功能使其与“本地”磁盘一起使用,但现在我想迁移并使用谷歌谷歌云存储。

很难找到一些有用的信息。在文档中有一个使用 Dropbox 的“示例”,但它并不完整。它没有显示如何配置驱动程序和磁盘,所以对我来说还不够清楚。

我想知道该怎么做,因为我从现在开始不知道。

我刚刚使用了本教程http://www.codetutorial.io/laravel-5-file-upload-storage-download/它适用于本地,所以我真的需要迁移到谷歌云存储,仅此而已。我正在使用 openshift,对此我感觉很舒服。

你能帮我知道我应该根据需要配置什么文件系统吗?

谢谢

0 投票
1 回答
3772 浏览

php - Laravel 表单 - 加载文件字段

我的表单中有一个文件字段,如下所示:

我正在使用laravelcollective包来创建我的表单。

现在在我的编辑页面上,我想加载当前文件(设置文件字段)。但是我该怎么做呢?

0 投票
1 回答
4952 浏览

php - Laravel 存储返回:mkdir(): 文件存在

当我尝试检查 Laravel 5.1 中是否存在文件时,我总是收到此错误:

我不知道这里可能出了什么问题,我想检查一个文件是否存在:

磁盘“图像”:

有任何想法吗?

0 投票
1 回答
983 浏览

php - Laravel 5.0 使用 Storage API 上传文件总是返回 Forbidden

我是 Laravel 的新手,我正在尝试使用 Storage API 将图像上传到我的网站,但 laravel 在我提交表单后总是返回“Forbidden”。

这是我的表格(add_company.blade.php):

这是我的控制器 (App\Http\Controllers\Setting\Organization\CompaniesController) 中的 store 方法:

Laravel 不会给出任何错误,但每次我提交表单时总是返回“Forbidden”。我没有更改 config/filesystems.php 或 public/.htaccess 中的任何内容。

请帮忙,我已经阅读了很多关于 Laravel 5 中文件上传的帖子,但没有找到任何答案。非常感谢!

编辑 :

我通过将文件上传到公用文件夹并授予该文件夹权限来尝试@MikeMiller 建议,但 l​​aravel 仍然返回“禁止”。我哪里错了?

这是我的目录:

这是我的 xampp\apache\logs\access.log 的最后一条记录:

这是 xampp\apache\logs\error.log :

这是 php_error_log 文件:

0 投票
1 回答
1665 浏览

laravel - Laravel 文件系统/存储 - 本地/公共文件 URL 不起作用

目标

嗨,我正在使用 laravel 作为 RESTful API。我想向用户返回图像文件的 URL。我目前正在使用本地存储,但我已经配置了一个 Amazon S3 实例,并将我的图像同步到它。我的目标是通过简单地更改我的 config/filesystems.php 中的第一行来在本地存储和 s3 之间无缝切换:

细节

我已将 laravel 配置为通过 config/filesystems.php 文件访问本地磁盘和 S3。根据 laravel 的说明,我将 public/storage 软链接到 storage/app/public。这是我的 config/filesystems.php 中的磁盘阵列:

这是我的文件夹层次结构:

在本地磁盘上:

  • myLaravelApp/存储/移动/背景/
  • myLaravelApp/storage/mobile/closetimages/
  • myLaravelApp/storage/mobile/profileimages/

在 S3 上

  • mybucket/手机/背景/
  • mybucket/手机/closetimages/
  • mybucket/手机/profileimages/

正如我之前所说,我想通过简单地更改 config/filesystems.php 中的第一行来在本地存储和 s3 之间无缝切换:

我希望使用以下函数调用将数据返回给用户:

当我使用 s3 作为默认调用时,响应是这样的:

https://s3.amazonaws.com/mybucket/mobile/profileimages/12345.jpg

这太棒了!但是,当我使用默认本地存储进行此调用时,响应是:

/storage/mobile/profileimages/12345.jpg

这甚至不是一个完整的 URL :( 我想返回的是这样的:

http://mywebapp/storage/mobile/profileimages/12345.jpg

但我希望同样的调用适用于 s3 和本地存储,以便我可以无缝切换。

我使用不正确吗?这很令人沮丧,因为这显然是一个库/框架调用,所以我希望它能够工作,或者至少返回一个完整的 URL。

谢谢

0 投票
2 回答
377 浏览

laravel - Laravel Flysystem 和 Rackspace CRON 上传失败,出现 401,而按需上传工作

我们的系统每小时生成各种发票并将其上传到云端。也可以通过单击我们前端的按钮来按需创建发票。

当手动请求创建所述发票时,它永远不会上传失败。至于 cron 在一段时间后生成的发票,所有上传都失败了:

这应该意味着令牌可能已经过期。Rackspace 令牌持续 24 小时,但 Laravel 的存储应该自动刷新令牌。


现在这里有一些有趣的事实:

1) 每次使用 Capistrano 部署我们的代码时,令牌似乎都会刷新,并且 cron 上传会再次工作一段时间。这里要注意的重要一点是,每次部署都会创建一个类似于此的新文件夹来/releases/201605190925提取代码,从头开始安装依赖项,如果一切顺利,则将此文件夹与 Apache 显示的文件夹进行符号链接。

2) Laravel 作业在与 www-data 不同的进程上处理

3) 部署后上传工作是否超过 24 小时很难追踪。我怀疑有时它的作用不止于此。但很难追踪,因为并非每个小时都有需要生成的发票。部署的开发人员不仅仅是我等。

4) 当 cron 失败并且我收到失败通知时,我可以立即去成功生成发票。之后,cron仍然失败。因此,这两个实例似乎在某处存储了不同的令牌。

5)缓存清理php artisan cache:clear似乎没有任何影响

6) 可能尝试过重启 Apache 服务但没有结果

由于它已经持续了一段时间,我已经测试了各种东西,甚至有一次联系了 Rackspace,但他们从他们的结尾找不到任何奇怪的东西......提醒我只是为了捕捉 401 错误,更新令牌并尝试再次。但是 Laravel 和 Flysystem 应该在某个地方自己处理它

由于 Flysystem、Laravel 和 Rackspace 似乎没有其他人遇到类似问题,我怀疑这是 cron 进程的某种独特问题。我只是希望很快我们就可以准备好系统的重构版本,并且问题就会消失。至于现在它仍在开发中,可能还需要一个月的时间。


不要认为它与代码有关,但无论如何这里是上传行:

这是我们的配置:


对此事的任何想法表示赞赏。

0 投票
4 回答
11014 浏览

php - Laravel 检查存储是否存在不工作

我正在尝试通过以下方式检查文件是否已存在于存储中

但它总是返回一个字符串“它确实存在”,即使文件被实际删除或文件不存在,任何想法,帮助?

我确定我的存储位置设置没有问题,因为我在将文件上传到存储时没有问题,

PS:我在 Laravel 5.0

更新:

这是我的 Laravel 5.0 配置文件夹中的 filesystems.php