我有一个excel文件。我想使用hapi JS回复对象将excel文件作为流回复给用户。我试过这样但是没用。
let readStream = fs.createReadStream(filePath);
reply(null,readStream.pipe());
有人能建议我实现这个目标吗?
答案 0 :(得分:-1)
将此代码用于提供文件。如果文件是静态文件,它将在浏览器上打印,而不是像pdf,excel,word这样的静态文件,这些文件将被下载。
'use strict';
const Path = require('path');
const Hapi = require('hapi');
var fs = require('fs');
const server = new Hapi.Server();
server.connection({ port: 3000, host: 'localhost' });
server.register(require('inert'), (err) => {
if (err) {
throw err;
}
server.route({
method: 'GET',
path: '/testdoc.docx',
handler: function (request, reply) {
var stream = fs.createReadStream('./testdoc.docx');
stream.on('data', function(data)
{
console.log(data);
console.log('loaded part of the file');
//reply(null,data);
reply(data);
});
stream.on('end', function()
{
console.log('all parts is loaded');
});
}
});
server.start((err) => {
if (err) {
throw err;
}
console.log('Server running at:',server.info.uri);
});
});
运行服务器node server.js
,在浏览器中运行http://localhost:3000/testdoc.docx
。希望这会有所帮助。