-
-
Notifications
You must be signed in to change notification settings - Fork 91
Expand file tree
/
Copy pathfirebaseStorage.js
More file actions
39 lines (32 loc) · 969 Bytes
/
firebaseStorage.js
File metadata and controls
39 lines (32 loc) · 969 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
const express = require("express");
const app = express();
const multer = require("multer");
const upload = multer();
const firebaseStorage = require("./lib/firebase_storage");
const uuid = require("uuid");
app.post("/upload", upload.single("avatar"), async (req, res, next) => {
const alloweFileType = ["image/png", "image/jpeg"];
const splitNameFile = req.file.originalname.split(".");
const formatFile = splitNameFile[splitNameFile.length - 1];
if (alloweFileType.includes(req.file.mimetype)) {
const image = await firebaseStorage.upload(
req.file.buffer,
`image/${uuid.v4()}.${formatFile}`
);
// todo something
return res.status(200).json({
status: 200,
result: {
image: image.image,
url: image.publicUrl,
},
});
}
res.status(400).json({
status: 400,
message: "upload file failed",
});
});
app.listen(3000, () => {
console.log("Application running on port 3000");
});