【发布时间】:2018-09-30 21:00:36
【问题描述】:
我正在尝试使用 laravel 将文件/图像/视频上传到 aws s3。
在本地上传工作正常,但是当我尝试在实时 aws 服务器上上传文件时出现错误。
我已尝试使用 putFileAs 和 put 方法在实时 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