const express = require('express');
const bodyParser = require('body-parser');
const { fetchEventSource } = require('./modules/FetchEventSource');
const app = express();
const router = express.Router();
router.post('/request', (request, response) => {
const url = 'https://ailab.synap.co.kr/sdk/ocr';
const apiKey = 'OCR_API_KEY';
const options = {
url: 'https://ailab.synap.co.kr/sdk/ocr',
formData: {
api_key: OCR_API_KEY,
image: fs.createReadStream(imgPath),
page_index: page,
...OCROption
}
};
request.post(options).on('response', response => {
const statusCode = _.get(response, 'statusCode');
const statusMessage = _.get(response, 'statusMessage');
if (statusCode === 200) {
console.log('OCR 성공');
let body = [];
response.on('error', (err) => {
throw err;
}).on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
// 전송 완료
const data = JSON.parse(Buffer.concat(body).toString());
// 클라이언트에게 응답
return res.status(statusCode).json(data);
});
} else {
console.log('OCR 실패', statusCode);
const error = new Error(statusMessage);
error.status = statusCode;
// 클라이언트에게 오류 응답
return res.status(statusCode).json({ error: statusMessage });
}
});
});
app.use(bodyParser.json());
app.use('/', router);
app.listen(8080);
|