【发布时间】:2016-07-03 18:13:17
【问题描述】:
我正在使用环回框架。 我正在尝试读取 pdf 文件并返回响应二进制数据,因为在前端我需要显示 pdf 文件。
var fs = require('fs');
module.exports = function(Pdf) {
Person.getPdf = function(msg, cb) {
fs.readFile('test.pdf', 'utf8', function(err, data) {
if (err) {
return console.log(err);
}
console.log(data);
cb(null, 'data');
});
}
Pdf.remoteMethod('getPdf', {
accepts : {
arg : 'msg',
type : 'string'
},
returns : {
arg : 'greeting',
type : 'string'
},
http : {
path : '/pdf/preview',
verb : 'post'
},
});
};
如何为test.pdf返回二进制数据
【问题讨论】:
-
您的代码错误您试图在模型中提供二进制数据,这不好。
-
@num8er - 你能推荐其他方法吗?
-
我希望 test.pdf 显示在浏览器中。但文件名只知道后端。
-
更好的方法是在公共场合创建一些 tmp 文件夹并将数据放入 tmp 文件夹中的文件中并以重定向响应。我不明白为什么要使用环回到服务器静态,但我已经编写了代码作为答案。检查一下。
-
pdf文件只能访问登录用户。文件也从数据库中获取。
标签: node.js api pdf loopbackjs strongloop