ホーム>source

以下のようにPDFをクライアントにプッシュするNode JSサーバーを作成しました

<前>ウィズウィズ

クライアントスクリプトで、上記を呼び出そうとしています役職 コマンドを使用してPDFをフェッチし、応答からローカルに保存します。それを行う方法がわかりません。以下はクライアントスクリプトです。ブラウザでは、PDFを表示できましたが、クライアントスクリプトを介してPDFにアクセスする必要があります

<前>ウィズウィズ app.post("/home", function(req, res, next) { // to download the file automatically /* var file = fs.createReadStream('E:\\test\\conversion\\310-output.pdf'); var stat = fs.statSync('E:\\test\\conversion\\310-output.pdf'); res.setHeader('Content-Length', stat.size); res.setHeader('Content-Type', 'application/pdf'); res.setHeader('Content-Disposition', 'attachment; filename=output.pdf'); file.pipe(res); */ // To Stream file to browser var data =fs.readFileSync('E:\\test\\conversion\\310-output.pdf'); res.contentType("application/pdf"); res.send(data); });
あなたの答え
  • 解決した方法 # 1

    request でファイルをダウンロードするには  lib、それを行うには多くの方法があります(そう思います!)

    以下は簡単な方法です:要求応答からパイプストリームを作成し、書き込みストリームを使用してストリームからファイルにデータを保存します

    <前>ウィズウィズ const request = require('request'); const fs = require('fs'); const req = request.post( 'http://localhost:3000/home', {}, ); req.on('response', function (res) { res.pipe(fs.createWriteStream('./filename_to_save.pdf')); });

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ r - 1つの数量をチェックする方法が、他のフィールドの2つの異なる数量に割り当てられていない