Laravel 5如何在资产文件夹中将文件设为可下载

时间:2018-01-17 12:23:57

标签: php laravel laravel-5

我正在关注this教程上传文件 上传很好,但我想创建一个下载文件的链接。 我在做

$contents = Storage::get($path);
echo '<a href="'.$contents.'">Thing</a>';

但它正在回应文件内容。我想要的是链接到文件下载。 任何帮助将不胜感激。

由于

4 个答案:

答案 0 :(得分:0)

我建议从像这样的控制器这样做 https://laravel.com/docs/5.5/responses#file-downloads

答案 1 :(得分:0)

您需要添加download属性

$path="your path"
echo '<a href="'.$path.'" download>Thing</a>';

但我建议使用像这样下载的功能

public function download()
{

    $file= "file_Path";

    $headers = array(
              'Content-Type: application/png',
            );

    return Response::download($file, 'yourfile.png', $headers);
} 

答案 2 :(得分:0)

您应该将下载属性添加到元素

echo '<a href="'.$contents.'" download>Thing</a>';

遵循本指南:https://www.w3schools.com/tags/att_a_download.asp

答案 3 :(得分:0)

来自docs

  

get方法可用于检索文件的内容。该方法将返回该文件的原始字符串内容。

因此,不使用get方法而是使用asset()辅助方法来检索文件的网址。

echo '<a href="'. asset($path) .'">Thing</a>';