[英]send PDF file using websocket node.js
我有以下服務器:
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()發送消息,有一些函數可以發送文件嗎?
謝謝
我只會以二進制形式發送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);
}
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.