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 java大作业爬取网页
  • ¥15 怎么获取欧易的btc永续合约和交割合约的5m级的历史数据用来回测套利策略?
  • ¥15 有没有办法利用libusb读取usb设备数据
  • ¥15 为什么openeluer里面按不了python3呢?
  • ¥15 关于#matlab#的问题:训练序列与输入层维度不一样
  • ¥15 关于Ubuntu20.04.3LTS遇到的问题:在安装完CUDA驱动后,电脑会进入卡死的情况,但可以通过键盘按键进入安全重启,但重启完又会进入该情况!
  • ¥15 关于#嵌入式硬件#的问题:树莓派第一天重装配置python和opencv后第二天打开就成这样,瞎捣鼓搞出来文件夹还是没把原来的界面调回来
  • ¥20 Arduino 循迹小车程序电路出错故障求解
  • ¥20 Arduino 循迹小车程序电路出错故障求解
  • ¥15 C++数组中找第二小的数字程序纠错