2016-09-15 11 views
-1

サーバー側で特定のルート(express.jsを使用)を使用してユーザーに送信するエクセルブックを作成しようとしています 私はモジュールhttps://github.com/riyadhalnur/excelbuilderjs-node から、workBookB64定数に大きなデータがあり、res.end()呼び出し後に、ブラウザ(クロム)に処理とコンテンツタイプの両方のヘッダーが表示されます。 BUTファイルはブラウザ側ではダウンロードされません。 SSLを処理するために、Nginxリバースプロキシの背後でノードプロセスを実行しています。 ファイルをダウンロードする方法に関するアイデアは素晴らしいでしょう!node.jsをファイルとしてバッファに送信する

const result  = Excel.createFile(workBook); 
    const workBookB64 = new Buffer(result, 'base64'); 

    res.setHeader('Content-Disposition', 'attachment; filename=' + fileName); 
    res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64'); 
    res.end(workBookB64); 

投票にもコメントがありますか?私はとても汚れていて、今使用されています。 :

答えて

0

クライアント側のコードがjQueryの呼び出しを使用していたことがわかりました: $.get("/getReport")この呼び出しに応答が戻ってきたので、コールバックハンドラを持っていなかったので、私にはそれが働いていなかったかのように登場し 私が使用した溶液は、JSを排除し、単にアンカータグを使用して、URLを直接呼び出すことだった

注意。。。:私の答えに投票する必要があると感じたら、少なくともコメントを残してください。

関連する問題