node js 파일 오픈 에러(ECONNABORTED)

2023년 10월 10일 by 진아사랑해

    node js 파일 오픈 에러(ECONNABORTED) 목차
반응형

개요

node js에서 express 모듈을 사용하는 중에 이상한 현상이 발생하였습니다.

파일을 다운로드하기 위해 파일에 접근만 하면 

Problem on download example.bin:  Error: Request aborted
    at onaborted (/home/hgwc/OTAServer/OTAServer/node_modules/express/lib/response.js:1052:15)
    at onfinish (/home/hgwc/OTAServer/OTAServer/node_modules/express/lib/response.js:1088:50)
    at AsyncResource.runInAsyncScope (async_hooks.js:190:9)
    at listener (/home/hgwc/OTAServer/OTAServer/node_modules/on-finished/index.js:170:15)
    at onFinish (/home/hgwc/OTAServer/OTAServer/node_modules/on-finished/index.js:101:5)
    at callback (/home/hgwc/OTAServer/OTAServer/node_modules/ee-first/index.js:55:10)
    at TLSSocket.onevent (/home/hgwc/OTAServer/OTAServer/node_modules/ee-first/index.js:93:5)
    at TLSSocket.emit (events.js:326:22)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3) {
  code: 'ECONNABORTED'

위 같은 에러가 발생하였습니다.

에러가 발생하는 코드

app.get('/example.bin', (request, response) => {
{
 response.status(200).download(path.join(__dirname, 'firmware/example.bin'), 'example.bin', (err)=>{
         if (err) {
             console.error("Problem on download example.bin: ", err)
         }else{
             downloadCounter++;
         }
 response.end();  
     });
        console.log('Your example.bin file has been downloaded '+downloadCounter+' times!')
});

에러가 없는 코드

var fs = require('fs');

app.get('/signed_light_example.bin', (request, response) => {
{
 fs.readFile(path.join(__dirname, 'firmware/example.bin'), function(error, data){
         if (error) {
             console.error("Problem on download example.bin: ", error)
         }else{
 response.end(data);
             downloadCounter++;
         }
     });
        console.log('Your example.bin file has been downloaded '+downloadCounter+' times!')
});

이유는 잘 모르겠습니다.

참고로 hex 파일의 시작을 추가하였습니다.

파일은 .bin으로 바이너리 파일입니다.

 

반응형