【问题标题】:send PDF file using websocket node.js使用 websocket node.js 发送 PDF 文件
【发布时间】:2014-01-08 17:41:24
【问题描述】:

我有以下服务器:

 var pvsio                   = require("./pvsprocess"),
        ws                      = require("ws"),
        util                    = require("util"),
        http                    = require("http"),
        fs                      = require("fs"),
        express                 = require("express"),
        webserver               = express(),
        procWrapper             = require("./processwrapper"),
        uploadDir               = "/public/uploads",
        host                    = "0.0.0.0",
        port                    = 8082,
        workspace               = __dirname + "/public",
        pvsioProcessMap         = {},//each client should get his own process
        httpServer              = http.createServer(webserver),
        baseProjectDir          = __dirname + "/public/projects/",
        PDFDocument             = require ("pdfkit");

    var p, clientid = 0, WebSocketServer = ws.Server;

...
var wsServer = new WebSocketServer({server: httpServer});
    wsServer.on("connection", function (socket) {
        var socketid =  clientid++;
        var functionMaps = createClientFunctionMaps();
        socket.on("message", function (m) {

是否可以在 socket.on("message" .. function 中向客户端发送 pdf 文件? 我可以使用 send() 发送消息,有一些发送文件的函数吗?

谢谢

【问题讨论】:

    标签: javascript node.js pdf


    【解决方案1】:

    我只会以二进制形式发送 pdf。

    fs.readFile(something.pdf,function(err,data){
        if(err){console.log(err)}
        ws.send(data,{binary:true});
    }
    

    在客户端,我会根据接收到的二进制数据创建一个 blob 和一个对象 url。从现在开始,你几乎可以做任何事情,比如在新窗口/标签中打开 pdf 文件。

    conn.onmessage = function(e){
        pdfBlob = new Blob([e.data],{type:"application/pdf"});
        url = webkitURL.createObjectURL(pdfBlob);
        window.open(url);
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 2021-06-10
      • 2021-03-20
      • 2013-11-24
      相关资源
      最近更新 更多