Angularjs 在客户端下载pdf文件
我是MEAN stack的初学者。我想下载并向客户端显示pdf文件。为此,我的服务器端脚本如下所示:Angularjs 在客户端下载pdf文件,angularjs,node.js,pdf,Angularjs,Node.js,Pdf,我是MEAN stack的初学者。我想下载并向客户端显示pdf文件。为此,我的服务器端脚本如下所示: app.get("/pdf", function(req, res) { var file = __dirname + '/try.pdf'; res.download(file, function (err) { if (err) { console.log("
app.get("/pdf", function(req, res)
{
var file = __dirname + '/try.pdf';
res.download(file, function (err)
{
if (err) {
console.log("Error " + err);
} else {
console.log("Success"); // server shows success but file is not downloaded to client
}
res.end();
}
);
}
);
启动服务器后,当我在浏览器中发出localhost/pdf命令时,文件被下载。
但,当我通过索引页连接到服务器并将此模块附加到按钮的ng click事件时,服务器显示
成功,但文件未下载到客户端。我的angularJS代码如下所示,其中还显示了成功和失败
然后是第条信息:
app.controller('showPDF', function($scope, $http)
{
$scope.pdfShow = function()
{
alert("Inside pdfShow");
$http.get("/pdf" ).
success(function(response){alert("PDF Success")}).
error(function(error, status){alert("PDF Error " + error + " status " + status); }).
then(function(response){alert("PDF then clause ")})
}
}
);
<button ng-controller="showPDF" ng-click="pdfShow()">Show PDF file </button>
app.controller('showPDF',函数($scope,$http)
{
$scope.pdfShow=函数()
{
警报(“pdfShow内部”);
$http.get(“/pdf”)。
成功(函数(响应){alert(“PDF成功”)})。
错误(函数(错误,状态){alert(“PDF错误”+错误+“状态”+状态);})。
然后(函数(响应){alert(“PDF then子句”)})
}
}
);
显示PDF文件
我有什么错误吗?请引导我
谢谢。我看到的一个问题是res.end()在res.download回调中,请尝试将其移到res.download之外。另外,我建议您查看streams和fs.statFile sync以查看该文件是否存在。为什么需要使用XHR获取它?只需在不涉及任何angular或js的情况下进行此操作:
@idbehold不会公开服务器上存储文件的路径。xhr请求会屏蔽服务器上资产的位置。@Vish xhr不会真正屏蔽该位置,因为任何人都可以打开网络检查器查看路径。@idbehold该请求只会显示/get route req的路径,不会透露该请求在服务器上存储的文件的位置。我看到的一个问题是res.end()位于res.download回调中,请尝试将其移到res.download之外。另外,我建议您查看streams和fs.statFile sync以查看该文件是否存在。为什么需要使用XHR获取它?只需在不涉及任何angular或js的情况下进行此操作:
@idbehold不会公开服务器上存储文件的路径。xhr请求会屏蔽服务器上资产的位置。@Vish xhr不会真正屏蔽该位置,因为任何人都可以打开网络检查器查看路径。@idbehold该请求只会显示/get route req的路径,不会透露其存储在服务器上的文件的位置。