【问题标题】:Upload a video to s3 via laravel通过 laravel 将视频上传到 s3
【发布时间】:2018-06-24 18:11:39
【问题描述】:

我正在做一个涉及将视频上传到 s3 的 laravel 项目,但是当我尝试上传文件时,它总是在左下角运行“上传 x%”,然后在达到 100% 后进入 404 页面(并且没有文件上传到s3)。

当前代码:

$fileName = time().'.'.$request->file->getClientOriginalExtension();
    $file = $request->file('file');
    Storage::disk('s3')->put($fileName, fopen($file, 'r+'));
    $fileName = Storage::disk('s3')->url($fileName);


    return back()
        ->with('success','Image Uploaded successfully.')
        ->with('path',$fileName);}

我也尝试了常规的非流式上传,结果相同。这不是上传视频的正确方法吗?

【问题讨论】:

    标签: php laravel amazon-s3 file-upload


    【解决方案1】:

    如果您尝试上传大视频文件,PHP 可能内存不足。

    尝试在流中上传:

    $disk = Storage::disk('s3');
    $disk->put($targetFile, fopen($sourceFile, 'r+'));
    

    您还可以使用流将文件从 S3 下载到本地文件系统:

    $disk = Storage::disk('s3');
    $stream = $disk->getDriver()
                   ->readStream($sourceFileOnS3);
    file_put_contents($targetFile, stream_get_contents($stream), FILE_APPEND);
    

    【讨论】:

    • 这段代码给了我“”解析错误:语法错误,意外的'&'“”错误。我已经在尝试通过流媒体上传,你能看看上面的代码并告诉我哪里可能出错了吗?
    猜你喜欢
    • 2018-09-30
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2018-05-13
    • 2012-02-11
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多