如何在Laravel中创建下载链接

黑珍珠

我在创建下载链接以通过Laravel Storage文件夹通过移动应用下载文件时遇到问题。

我做了类似的事,$link = Response::Download(storage_path()./file/example.png)但无济于事。

我将文件移到公用文件夹并使用http://domain.com/file/example.pngasset('file/example.png')但无济于事。

我正进入(状态 404 NOT FOUND ERROR

我该如何解决?

Latheesan

看看Laravel Helpers文档:http ://laravel.com/docs/4.2/helpers

如果要链接到您的资产,可以这样进行:

$download_link = link_to_asset('file/example.png');

编辑

如果上述方法对您不起作用,则可以在app / routes.php中实现一个相当简单的下载路由,如下所示:

请注意,此示例假设您的文件位于app / storage / file /位置

// Download Route
Route::get('download/{filename}', function($filename)
{
    // Check if file exists in app/storage/file folder
    $file_path = storage_path() .'/file/'. $filename;
    if (file_exists($file_path))
    {
        // Send Download
        return Response::download($file_path, $filename, [
            'Content-Length: '. filesize($file_path)
        ]);
    }
    else
    {
        // Error
        exit('Requested file does not exist on our server!');
    }
})
->where('filename', '[A-Za-z0-9\-\_\.]+');

用法:http://your-domain.com/download/example.png

这将在以下目录中查找文件:app / storage / file / example.png(如果存在,则将该文件发送到浏览器/客户端,否则将显示错误消息)。

PS'[A-Za-z0-9\-\_\.]+此正则表达式可确保用户只能请求名称包含A-Za-z(字母),0-9(数字)-_.(符号)的文件。其他所有内容均被丢弃/忽略。这是一项安全措施。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:如何在Android中创建直接下载链接

来自分类Dev

如何在html中创建下载属性

来自分类Dev

如何在jQuery中创建链接?

来自分类Dev

如何在Jekyll中动态创建链接?

来自分类Dev

如何在Django中创建动态链接

来自分类Dev

如何在Rails中创建任意链接?

来自分类Dev

如何在C ++中创建链接列表?

来自分类Dev

如何在jQuery中创建链接

来自分类Dev

如何在reactjs中动态创建链接?

来自分类Dev

如何在JsonStore for Extjs 3.4中链接pdf下载

来自分类Dev

如何在Laravel中创建从公共/存储到存储/应用/公共的符号链接?

来自分类Dev

如何在链接列表中创建链接列表?

来自分类Dev

如何在Excel中的链接内创建链接

来自分类Dev

在CGrid视图Yii中创建下载链接

来自分类Dev

如何在C#中创建OneDrive文件下载器

来自分类Dev

如何在laravel 5.4中下载文件

来自分类Dev

如何在 Laravel 中通过 Ajax 下载 Excel 文件?

来自分类Dev

如何在Windows中下载链接?

来自分类Dev

如何在Laravel中创建init db?

来自分类Dev

如何在Laravel 5中创建包?

来自分类Dev

如何在Laravel中创建子域

来自分类Dev

如何在Laravel中创建种子方案

来自分类Dev

如何在Laravel中创建产品网址?

来自分类Dev

如何在laravel 5.8中创建搜索

来自分类Dev

如何在Laravel中创建局部模板?

来自分类Dev

如何在Laravel Passport中创建角色?

来自分类Dev

如何在Laravel集合中创建数组

来自分类Dev

如何在 Laravel 5.3 中创建包

来自分类Dev

如何在 Laravel 中创建别名?