간단한 node.js 코드로 하나의 HTTP 서버와 하나의 TCP 서버를 가지고 있습니다. 그러나 HTTP에서 tcp로 일부 데이터를 전달할 때 올바른 파일을 가져올 수 없습니다. 파일은 항상 손상됩니다.HTTP 클라이언트로부터 수신 된 데이터가 TCP 서버로 전송되는 동안 손실됩니다.
로컬에서 이미지 파일을 테스트 할 때 제대로 작동합니다. 그래서 내가 생각하는 문제는 upload.js이지만 내 잘못을 정리할 수는 없습니다.
도와주세요.
[upload.js] - HTTP 서버
var server = http.createServer(function(request, response){
/* my html form is
<form method="POST" action="/upload" enctype="multipart/form-data">
*/
if(request.url == '/upload') {
request.on('data', function(data){
var client = net.createConnection({ port: 1234 }, function(){
client.write(data);
client.end()
});
})
}
});
server.listen(1000);
[save.js] - TCP 서버는 전체 예상 파일을 저장 만의 덩어리되지 않기 때문에이 발생
var net = require('net');
var fs = require('fs');
var server = net.createServer(function(c){
var img = fs.createWriteStream('a.jpg',
{ defaultEncoding: 'binary' }
);
c.on('data', function(data){
img.write(data);
});
c.on('end', function(){
});
});
server.listen(1234);
감사합니다. 너 node.js의 천사 야? 정말 고맙습니다. 내 문제를 해결하고 잘 작동합니다! –