当前位置: 首页 > 面试题库 >

使用Response :: download在laravel中下载文件

方浩旷
2023-03-14
问题内容

在Laravel应用程序中,我试图在视图内部实现一个按钮,该按钮可以允许用户下载文件而无需导航至任何其他视图或路径现在我有两个问题:(1)函数抛出以下

The file "/public/download/info.pdf" does not exist

(2)“下载”按钮不应将用户导航到任何地方,而应仅在同一视图上下载文件,即“我的当前设置”,将视图路由到“ / download”

我正在尝试实现以下方法:

按键:

  <a href="/download" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a>

路线:

Route::get('/download', 'HomeController@getDownload');

控制器:

public function getDownload(){
        //PDF file is stored under project/public/download/info.pdf
        $file="./download/info.pdf";
        return Response::download($file);
}

问题答案:

尝试这个。

public function getDownload()
{
    //PDF file is stored under project/public/download/info.pdf
    $file= public_path(). "/download/info.pdf";

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

    return Response::download($file, 'filename.pdf', $headers);
}

"./download/info.pdf"将无法正常工作,因为您必须提供完整的物理路径。

更新20/05/2016

Laravel 5、5.1、5.2或5. *用户可以使用以下方法代替ResponseFacade。但是,我先前的答案对Laravel
4或5都适用。(将$header数组结构更改为关联数组=>-删除“ Content-Type”后的冒号-
如果我们不执行这些更改,则将以错误的方式添加标头:标头名称将从0,1,…开始。

$headers = [
              'Content-Type' => 'application/pdf',
           ];

return response()->download($file, 'filename.pdf', $headers);


 类似资料:
  • 问题内容: OK,所以我正在尝试使用Selenium导出文件。我的浏览器是IE。当我 单击导出按钮时,将出现一个本机Windows对话框。 弹出的图片 在此处输入图片说明 我必须单击“保存”按钮。为此,我尝试使用AutoIT但 不起作用。 这没有用。因此,我决定使用Robot类并执行键盘单击Atl + S,因为这还将使浏览器能够保存文件。那 也不起作用。 我认为Web驱动程序存在一些问题,因为我尝

  • 我正试图从一个包含阿根廷代表投票的公共网站自动下载excel文件。例如,来自以下页面:https://votaciones.hcdn.gob.ar/votacion/4108 我收到以下消息: selenium.common.exceptions。ElementClickInterceptedException:消息:元素在点(229480)处不可单击,因为另一个元素使其模糊 如果我尝试通过< c

  • 本文向大家介绍JSP隐含对象response实现文件下载,包括了JSP隐含对象response实现文件下载的使用技巧和注意事项,需要的朋友参考一下 一.简单介绍JSP隐含对象response实现文件下载 (1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源,用户单击超链接后直接下载资源,但直接暴露资源的URL也会带来一些负面的影响,例如容易被其它网站盗链,造成本地服务器下载负载过重。

  • 问题内容: 请求是一个非常不错的库。我想用它来下载大文件。问题是不可能将整个文件保留在内存中,我需要分块读取它。这是以下代码的问题 由于某种原因,它无法按这种方式工作。仍将响应加载到内存中,然后再将其保存到文件中。 更新 如果你需要一个小型客户端,可以从FTP下载大文件,则可以在此处找到它。它支持多线程和重新连接(它确实监视连接),还可以为下载任务调整套接字参数。 问题答案: 使用以下流代码,无论

  • 问题内容: 在SpringMVC应用程序中,有没有一种方法可以使用web.xml加载上下文? 问题答案: Spring可以轻松集成到任何基于Java的Web框架中。你需要做的就是在中声明并使用 设置要加载的上下文文件。 然后,你可以使用WebApplicationContext来获取bean的句柄。

  • 问题内容: 我正在尝试使用asyncTask下载文件,但无法正常工作,没有错误消息或什么都没有,只是不下载文件…我尝试了所有操作,但似乎并没有输入…任何人都知道可以是问题吗?我在手机上测试过,网址也可以。 问题答案: 我只运行了您的代码,它对我来说很好用。该图像已下载到sdcard。 请注意,请确保在AndroidManifest.xml中设置了以下权限: 这是我得到的日志(请注意,我添加了):