2
私は、ユーザが何らかのデータを入力するnode.js + expressアプリケーションを構築しています。pdfkitでPDFを生成し、そのファイルがユーザに送信されます。私はファイルを正常に生成することができます。問題は、生成されたファイルをダウンロードすると空になってしまうことです。私もPDFを開くことができない、読者(プレビュー、macOSのネイティブリーダー)は、ファイルが空であると言います。私は次のコードを使用しています:空のファイルを返すダウンロード
var express = require('express');
var router = express.Router();
var guid = require('guid');
var PDFDocument = require('pdfkit');
var fs = require('fs');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.post('/criar', function(req, res, next) {
var filename = guid.raw()+'.pdf';
var doc = new PDFDocument();
doc.pipe(fs.createWriteStream(filename));
doc.font('fonts/UbuntuMono-R.ttf')
.fontSize(25)
.text('Some text with an embedded font!', 100, 100);
doc.end();
res.download(filename, 'rifas.pdf', function(err){
if(!err){
fs.unlink(filename);
}
})
});
module.exports = router;
正しく生成されているサーバーで、私のダウンロードファイルが空である理由を知っていますか?
ありがとうございます!
パーフェクト!確かに物理ファイルは必要ありませんでしたので、ファイルを応答に配管するだけで十分です。 ありがとう! –