1
public function get_download($record_id)
{
    $record = Record::find($record_id);
    $file_name = $record->with_value('File Upload')->name;

    // something like https://s3.amazonaws.com/webapp/uploads/laravelsauce.png
    $file_url = read_file($record->with_value('File Upload')->value);

    return Response::download($file_url, $file_name);

    /*
    // works but why not the above
    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary");
    header("Content-disposition: attachment; filename='{$file_name}'");
    readfile($file_url);
    exit;
    */
}

给我:

未处理的异常

信息:

filesize() [function.filesize]: https://s3.amazonaws.com/webapp/uploads/laravelsasuce.png的统计失败

4

1 回答 1

0

解决方案:/laravel/response.php

您不能在 aws 文件上使用 File::size,因为 File::size() === filesize() 并且该函数无论出于何种原因都无法绘制 S3 文件。

在此处输入图像描述

于 2013-02-03T23:13:09.540 回答