gpt4 book ai didi

javascript - 使用 websocket node.js 发送 PDF 文件

转载 作者:行者123 更新时间:2023-11-30 10:22:22 29 4
gpt4 key购买 nike

我有以下服务器:

 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);
}

希望这对您有所帮助。

关于javascript - 使用 websocket node.js 发送 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002750/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com