如何使用laravel 5.2在线打开PDF?

时间:2016-04-25 06:07:30

标签: laravel laravel-5.2

如果我点击了url:website.com/open/pdf/Document_One_Drag_3.pdf的链接,它将在浏览器中打开pdf而不是下载。 这是我在Route.php中的代码

eval(s)

PDF文件仍在下载但未在浏览器中打开。有什么问题?

1 个答案:

答案 0 :(得分:0)

考虑到Laravel 5.2,下载方法可用于生成响应,强制用户的浏览器在给定路径下载文件。

var heatmapData = [];
function GetDataTableFromCodeBehind() {

        heatmapData = <%=GetIAHeatMapDataTable("XXXXXXX")%>;                        
    }        


var pointArray = new google.maps.MVCArray(heatmapData);
    var heatmapLayer = new google.maps.visualization.HeatmapLayer({ 
        data: pointArray, 
        dissipating: false,
        radius: 0.00001
    }); 

function GetNewHeatMapDataTable() {             
        var newheatmapdata = []   
        newheatmapdata = <%=GetIANewHeatMapDataTable("XXXXXXX")%>;               

        if (newheatmapdata.length > 0){

            for (i = 0; i < newheatmapdata.length; i++) {
                pointArray.push.apply(pointArray, newheatmapdata);                    
            }
        }                                 
    }   
setInterval(function() {GetNewHeatMapDataTable();},3000);

下载方法接受文件名作为方法的第二个参数,这将确定下载文件的用户看到的文件名。最后,您可以将HTTP标头数组作为方法的第三个参数传递:

 $pathToFile = public_path(). "/download/fileName.pdf";
 return response()->download($pathToFile);

所以,你可以使用

 return response()->download($pathToFile, $name, $headers);

作为第三个参数。

此信息也可能有用:

  

注意:管理文件下载的Symfony HttpFoundation要求下载的文件具有ASCII文件名。

L5.2 Documentation

在浏览器中打开

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