나는 엑셀 파일을 가지고있다. 나는 hapi JS 응답 객체를 사용하여 사용자에게 스트림으로 파일을 보내고 싶습니다. 나는 이것을 시도했지만 효과가 없었다.hapi js에서 파일을 스트림으로 회신하는 방법은 무엇입니까?
let readStream = fs.createReadStream(filePath);
reply(null,readStream.pipe());
아무에게도이 방법을 제안 할 수 있습니까?
나는 엑셀 파일을 가지고있다. 나는 hapi JS 응답 객체를 사용하여 사용자에게 스트림으로 파일을 보내고 싶습니다. 나는 이것을 시도했지만 효과가 없었다.hapi js에서 파일을 스트림으로 회신하는 방법은 무엇입니까?
let readStream = fs.createReadStream(filePath);
reply(null,readStream.pipe());
아무에게도이 방법을 제안 할 수 있습니까?
파일 제공에이 코드를 사용하십시오. 파일이 정적 파일 인 경우 PDF와 같은 정적 파일 이외의 브라우저에서 인쇄하고 Excel은이 파일을 다운로드합니다.
'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
로 실행. 희망이 도움이됩니다.
코드를 주셔서 감사합니다. 정확히 내가 지금 무엇을 사용하고 있습니다 하지만 쓰기 및 읽기 시간에 일어날 수 있기 때문에 스트림으로 파일을 보내고 싶습니다. 스트림을 완료 나는 파일을 삭제할 수 있습니다 (현재 2mints와 함께 settimeout을 사용하고 있지만 보안을위한 좋은 방법은 아닙니다) –
엑셀 데이터를 인쇄 하시겠습니까 ??? 당신이 엑셀 데이터를 표시하고 싶다는 뜻 ... –
엑셀 파일로 엑셀 파일을 다운로드 할 필요가 없습니다. 엑셀을 인쇄 할 필요가 없습니다. 사용자에게 직접 파일을 보낼 수 있지만, 쓰는 것보다는 스트림으로 데이터베이스에서 데이터를 가져옵니다. 파일을 엑셀로 보낸 다음 엑셀 파일로 답장하십시오. 스트림을 사용하고 싶습니다. –
Checkout 제 답변 .. 어떤 질문이 있더라도 알려주세요 .... –