ajihakim201 commited on
Commit
152d0b8
·
verified ·
1 Parent(s): 05eceff

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +17 -2
server.js CHANGED
@@ -2,16 +2,31 @@ const express = require("express");
2
  const multer = require("multer");
3
  const tesseract = require("node-tesseract-ocr");
4
  const fs = require("fs");
 
5
 
6
  const app = express();
7
- const upload = multer({ dest: "uploads/" });
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  app.post("/ocr", upload.single("file"), async (req, res) => {
10
  try {
11
  const config = { lang: "eng+ind" };
12
  const text = await tesseract.recognize(req.file.path, config);
13
 
14
- fs.unlinkSync(req.file.path); // hapus file setelah OCR
 
 
15
  res.json({ success: true, text });
16
  } catch (err) {
17
  res.status(500).json({ success: false, error: err.message });
 
2
  const multer = require("multer");
3
  const tesseract = require("node-tesseract-ocr");
4
  const fs = require("fs");
5
+ const path = require("path");
6
 
7
  const app = express();
8
+
9
+ // Pakai /tmp untuk folder upload (selalu bisa di-write di Linux container)
10
+ const uploadDir = "/tmp/uploads";
11
+ if (!fs.existsSync(uploadDir)) {
12
+ fs.mkdirSync(uploadDir, { recursive: true });
13
+ }
14
+
15
+ const storage = multer.diskStorage({
16
+ destination: (req, file, cb) => cb(null, uploadDir),
17
+ filename: (req, file, cb) => cb(null, Date.now() + path.extname(file.originalname))
18
+ });
19
+
20
+ const upload = multer({ storage });
21
 
22
  app.post("/ocr", upload.single("file"), async (req, res) => {
23
  try {
24
  const config = { lang: "eng+ind" };
25
  const text = await tesseract.recognize(req.file.path, config);
26
 
27
+ // Hapus file setelah OCR
28
+ fs.unlinkSync(req.file.path);
29
+
30
  res.json({ success: true, text });
31
  } catch (err) {
32
  res.status(500).json({ success: false, error: err.message });