gpt4 book ai didi

javascript - 客户端无法保存jpeg图片

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:46 25 4
gpt4 key购买 nike

我在服务器端存储了一张图像。每当客户端连接到服务器时,它都会通过套接字发送图像。接收到的图像我可以将其显示在 Canvas 上,但是我无法将接收到的图像保存在本地磁盘中。我正在尝试使用 fs.writeFile(),但也许我没有发送正确的参数。任何导致此问题的线索都会有所帮助。谢谢。 [我想将其实现为基本的通信客户端-服务器]。

为了优化它,有什么方法可以更快地实现相同的操作吗?任何工作代码也会有帮助。

//server side js code

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

var fs = require('fs'); // required for file serving

http.listen(6969, function(){
console.log('listening on port 6969');
});


// trying to serve the image file from the server
io.on('connection', function(socket){
start = new Date().getTime();
console.log(start);
console.log('a user connected');
fs.readFile(__dirname + '/image.jpg', function(err, buf){
socket.emit('image', { image: true, buffer: buf.toString('base64') });
console.log('image file is transmitted');
});
});
<script>
var socket = io("http://139.25.100.101:6969");
var ctx = document.getElementById('canvas_win').getContext('2d');
var fs = require('fs');
socket.on("image", function(info) {
if (info.image) {
var img = new Image();
img.src = 'data:image/jpeg;base64,' + info.buffer;
ctx.drawImage(img, 0, 0);
var end = new Date().getTime();
document.getElementById("demo").innerHTML = end;
fs.writeFile('logo.jpeg', img.src, 'data:image/jpeg;base64,', function(err){
if (err) throw err
console.log('File saved.')

})
}
});

最佳答案

我对此很陌生,但我认为对于两个实体之间的“通信”,两个实体都必须能够在某个时刻充当服务器,因此两端都需要一个 php 脚本。

客户端通常会发送请求由服务器处理,因此如果需要 p2p 通信,客户端必须下载 php 脚本以使其能够充当服务器......

再说一遍,我是新手,所以我可能(非常)错了

关于javascript - 客户端无法保存jpeg图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38994459/

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