0
У меня есть файл двоичного изображения, который был отправлен пакетом с помощью клиента (устройства). Как я могу правильно обработать это и сохранить это в базе данных, чтобы в будущем не было полосы на изображении после конвертации.Как правильно обрабатывать входящие двоичные данные из сокета
var net = require('net');
var server = net.createServer(function(socket){
socket.on('end', function() {
// somstuffhere();
});
socket.on('data',function(data){
var revdata += data.toString('binary'); // receive first the buffer data.
var checkdata = revdata.substr(-5);
if(checkdata.substr(0,1) == '*'){
var hexdata = new Buffer(revdata, 'ascii').toString('hex');
// After converting to hex.Save database here..
}else{
revdata += data.toString('binary');
}
});
server.listen(3020,'127.0.0.1', function() {
console.log("server is up!");
});
Тип данных поля столбца является VARCHAR(3072).
ли это имеет смысл здесь?
Вы не можете принять [e] получение 1 пакета данных двоичного изображения '. Это твоя первая проблема. TCP - это байтовый поток, а не протокол обмена сообщениями. Что касается того, достаточно ли 3072 для ваших изображений, только вы можете это знать. – EJP
1. Никто не будет следить за ссылками. 2. Материал, который является частью вопроса, должен быть включен в вопрос. 3. Как я уже сказал, только вы знаете, насколько велики ваши изображения. Но я бы использовал «Blob» для этого, а не «VARCHAR» с кодировкой. – EJP
Если вы используете 'Blob' и не вмешиваетесь в какую-либо кодировку, данные будут сохранены как двоичные. – EJP