douchuanchai2793 2015-08-10 16:35
浏览 35
已采纳

Laravel:将存储/应用程序中安全存储的文件的URL提供给jquery库

I have stored my PDF files using the storage API. To let the browser read PDF I could use the Response::make() but I am using the pdfObject jquery library to display it embedded. And the problem is while using the library, I have to provide the url of pdf:

var pdf = new PDFObject({
   url: **"THE URL TO THE PDF",**
   pdfOpenParams: {
   navpanes: 0,
   toolbar: 0,
   statusbar: 0,
   view: "FitV"
}

How can I give the URL of the securely stored PDF to the library? Any help appreciated!

  • 写回答

1条回答 默认 最新

  • dptrmt4366 2015-08-10 17:32
    关注

    You can make a new "loader" controller, from which you can return a pdf header with the desired file. Then instead of calling the file directly, pass its encrypted name as a parameter to the controller and decode it inside:

    var pdf = new PDFObject({
        url: "site.com/controller/method/<?php Crypt::encrypt('filename.pdf') ?>",
        //...
    }
    

    Controller:

    Route::get('/controller/method/{filename}', function($filename) {
        // Laravel is ignoring the header method and is sending a plain html/txt :(
        // So a normal php header can do the workaround
        header("Content-type: application/pdf");
    
        $filename = '/url/to/pdf/' . Crypt::decrypt($filename);
    
        $response = Response::make(readfile($filename), 200);
        $response->header('Content-Type', 'application/pdf');
        return $response;
    });
    

    P.S. The Laravel code is not tested and will mostly likely not work (I am little rusty with it), I tested with pure PHP though, and it worked.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体