Skip to content

Commit 0e57d43

Browse files
committed
upold issue sfixed
1 parent 9671cee commit 0e57d43

File tree

2 files changed

+41
-10
lines changed

2 files changed

+41
-10
lines changed

src/routes/character.route.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,29 @@ const express = require("express");
22
const router = express.Router();
33
const multer = require("multer");
44
const path = require("path");
5+
const fs = require("fs");
56
const { uploadCharacter, getAllCharacters } = require("../controllers/characterController");
67

7-
// Multer configuration
8+
let uploadDir;
9+
10+
try {
11+
uploadDir = path.join(process.cwd(), "uploads");
12+
if (!fs.existsSync(uploadDir)) {
13+
fs.mkdirSync(uploadDir, { recursive: true });
14+
}
15+
} catch (err) {
16+
console.error("Failed to create upload directory, using /tmp instead:", err);
17+
uploadDir = "/tmp/uploads";
18+
fs.mkdirSync(uploadDir, { recursive: true });
19+
}
20+
821
const storage = multer.diskStorage({
9-
destination: "uploads/", // Temporary storage before uploading to Cloudinary
10-
filename: (req, file, cb) => {
11-
cb(null, file.fieldname + "-" + Date.now() + path.extname(file.originalname));
12-
},
22+
destination: (req, file, cb) => cb(null, uploadDir),
23+
filename: (req, file, cb) => {
24+
cb(null, `${file.fieldname}-${Date.now()}${path.extname(file.originalname)}`);
25+
},
1326
});
27+
1428
const upload = multer({ storage });
1529

1630
router.post("/upload", upload.single("image"), uploadCharacter);

src/routes/sketch.route.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,32 @@ const express = require("express");
22
const router = express.Router();
33
const multer = require("multer");
44
const path = require("path");
5+
const fs = require("fs");
56
const { uploadSketch, getAllSketches } = require("../controllers/sketchController");
67

7-
// Multer configuration
8+
let uploadDir;
9+
10+
try {
11+
uploadDir = path.join(process.cwd(), "uploads");
12+
if (!fs.existsSync(uploadDir)) {
13+
fs.mkdirSync(uploadDir, { recursive: true });
14+
}
15+
} catch (err) {
16+
console.error("Failed to create upload directory in project root. Falling back to /tmp:", err);
17+
uploadDir = "/tmp/uploads";
18+
fs.mkdirSync(uploadDir, { recursive: true });
19+
}
20+
21+
console.log("Sketch uploads directory:", uploadDir);
22+
823
const storage = multer.diskStorage({
9-
destination: "uploads/", // Temporary storage before uploading to Cloudinary
10-
filename: (req, file, cb) => {
11-
cb(null, file.fieldname + "-" + Date.now() + path.extname(file.originalname));
12-
},
24+
destination: (req, file, cb) => cb(null, uploadDir),
25+
filename: (req, file, cb) => {
26+
const uniqueName = `${file.fieldname}-${Date.now()}${path.extname(file.originalname)}`;
27+
cb(null, uniqueName);
28+
},
1329
});
30+
1431
const upload = multer({ storage });
1532

1633
router.post("/sketch/upload", upload.single("image"), uploadSketch);

0 commit comments

Comments
 (0)