在Laravel 4.2中强制下载.xls文件

时间:2016-02-04 12:53:00

标签: php excel laravel

我有以下路线:

Route::get('/download/{id}/{filename}', function($id, $filename)
    {
        // Check if file exists in app/storage/file folder
        $file_path = storage_path() .'/orders/'.'/'.$id.'/'. $filename;
        if (file_exists($file_path))
        {

            // Send Download
            return Response::download($file_path, $filename, [
                'Content-Type: application/vnd.ms-excel; charset=utf-8'
            ]);
        }
        else
        {
            // Error
            exit('Requested file does not exist on our server!');
        }
    })->where('filename', '[A-Za-z0-9\-\_\.]+');

在Laravel中下载excel文件表单/ app / storage(之前已上传)。 我面临的问题是excel无法读取下载的excel文件。如果我从FTP下载上传的文件,那就没关系。我为Content-Type尝试了所有类型的标题,但似乎没有任何效果。 excel文件有特殊标题吗? 非常感谢。

1 个答案:

答案 0 :(得分:0)

我在CI中使用此代码,请找到Laravel的帮助文件或库

$this->load->helper('download');
if(file_exists("user_files/test.txt")){
    $data = file_get_contents("user_files/test.txt");
    force_download("test.txt", $data);
}else{
    echo "Error";
}