【问题标题】:laravel videos/files upload to aws s3laravel 视频/文件上传到 aws s3
【发布时间】:2018-09-30 21:00:36
【问题描述】:

我正在尝试使用 laravel 将文件/图像/视频上传到 aws s3。

在本地上传工作正常,但是当我尝试在实时 aws 服务器上上传文件时出现错误。

我已尝试使用 putFileAsput 方法在实时 aws s3 服务器上上传视频。但还是失败了。

在检查日志以使用 put 方法时,我明白了。

[2018-04-20 17:35:25] production.ERROR: fopen(): Filename cannot be empty {"exception":"[object] (ErrorException(code: 0): fopen(): Filename cannot be empty at /var/app/current/app/Http/Controllers/Offer/LibraryController.php:149)

从昨天开始,我就一直在敲我的头。 不明白为什么它没有得到文件名。我给出了完整的路径。

这是我的代码。

两种方法都试过了

使用put方法

$path = Storage::disk($disk)->put($storagePath.'/'.$FileNameForUpload, fopen($validatedData['file'], 'r+'), 'public');

使用putFileAs 方法

$path = Storage::disk($disk)->putFileAs(
                    $storagePath, $validatedData['file'], $FileNameForUpload
                );

编辑:

只有视频会出现问题,但图片和文本文件上传正常吗?

【问题讨论】:

  • 文件权限好吗??
  • $validatedData['file'];可能会造成混乱。可能是空的

标签: php laravel amazon-web-services file-upload dropzone.js


【解决方案1】:

我遇到了问题,我已经解决了。

  1. 找到“php.ini”文件(/etc/php/7.2/cli/php.ini)并用root打开它(sudo)

  2. 更改post_max_size=50Mupload_max_filesize=50M(在您的情况下只需要更改upload_max_filesize)。

【讨论】:

    【解决方案2】:

    最大文件上传大小为 2M :(

    这就是为什么其他文件上传正常但视频像 2.7MB 所以它给出了错误,但是我不确定为什么这个 laravel 没有给出文件限制错误,而是给出的文件名不能为空?

    你这个问题已经解决了,更新了我在aws上的php版本7的ini文件。

    【讨论】:

      【解决方案3】:

      试试这个:

       $destinationPath= 'Path of folder where you want to store file on S3 server with filename';
      
       Storage::disk($disk)->put($destinationPath, file_get_contents('filename with path'));
      

      【讨论】:

        猜你喜欢
        • 2016-04-07
        • 2018-06-24
        • 2018-07-03
        • 1970-01-01
        • 2017-08-16
        • 2015-09-08
        • 2021-02-07
        • 2013-05-19
        • 2021-01-07
        相关资源
        最近更新 更多