如果我点击了url:website.com/open/pdf/Document_One_Drag_3.pdf的链接,它将在浏览器中打开pdf而不是下载。 这是我在Route.php中的代码
eval(s)
PDF文件仍在下载但未在浏览器中打开。有什么问题?
答案 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文件名。
在浏览器中打开
$headers = ['Content-Type' => 'application/pdf'];