23
loading...
This website collects cookies to deliver better user experience
npm install express multer cloudinary sharp
const express = express();
const app = express();
app.get("/", (req, res) => {
return res.json({ message: "Hello world 🇵🇹" });
});
const start = () => {
try {
app.listen(3333);
} catch (error) {
console.error(error);
process.exit();
}
};
start();
MemoryStorage
:const express = express();
const multer = require("multer");
const app = express();
const storage = multer.memoryStorage();
const upload = multer({ storage });
app.get("/", (req, res) => {
return res.json({ message: "Hello world 🇵🇹" });
});
const start = () => {
try {
app.listen(3333);
} catch (error) {
console.error(error);
process.exit();
}
};
start();
const express = express();
const multer = require("multer");
const cloudinary = require("cloudinary").v2;
const app = express();
const storage = multer.memoryStorage();
const upload = multer({ storage });
cloudinary.config({
cloud_name: "YOUR_CLOUD_NAME",
api_key: "YOUR_API_KEY",
api_secret: "YOUR_API_SECRET",
});
app.get("/", (req, res) => {
return res.json({ message: "Hello world 🇵🇹" });
});
const start = () => {
try {
app.listen(3333);
} catch (error) {
console.error(error);
process.exit();
}
};
start();
sharp
module.const { Readable } = require("stream");
// Hidden for simplicity
const bufferToStream = (buffer) => {
const readable = new Readable({
read() {
this.push(buffer);
this.push(null);
},
});
return readable;
}
app.post("/", upload.single("picture"), async (req, res) => {
// Logic goes here
});
app.post("/", upload.single("picture"), async (req, res) => {
const data = await sharp(req.file.buffer).webp({ quality: 20 }).toBuffer();
// Even more logic goes here
});
.upload_stream()
method (because we will be uploading a data stream). Then we'll define our destination folder (which I named "DEV"
). app.post("/", upload.single("picture"), async (req, res) => {
const data = await sharp(req.file.buffer).webp({ quality: 20 }).toBuffer();
const stream = cloudinary.uploader.upload_stream(
{ folder: "DEV" },
(error, result) => {
if (error) return console.error(error);
return res.json({ URL: result.secure_url });
}
);
// Almost done
});
.pipe()
method in our bufferToStream function.app.post("/", upload.single("picture"), async (req, res) => {
const data = await sharp(req.file.buffer).webp({ quality: 20 }).toBuffer();
const stream = cloudinary.uploader.upload_stream(
{ folder: "DEV" },
(error, result) => {
if (error) return console.error(error);
return res.json({ URL: result.secure_url });
}
);
bufferToStream(data).pipe(stream);
});
const express = require("express");
const multer = require("multer");
const sharp = require("sharp");
const cloudinary = require("cloudinary").v2;
const { Readable } = require("stream");
const app = express();
const storage = multer.memoryStorage();
const upload = multer({ storage });
cloudinary.config({
cloud_name: "YOUR_CLOUD_NAME",
api_key: "YOUR_API_KEY",
api_secret: "YOUR_API_SECRET",
});
const bufferToStream = (buffer) => {
const readable = new Readable({
read() {
this.push(buffer);
this.push(null);
},
});
return readable;
};
app.get("/", (req, res) => {
return res.json({ message: "Hello world 🔥🇵🇹" });
});
app.post("/", upload.single("picture"), async (req, res) => {
const data = await sharp(req.file.buffer).webp({ quality: 20 }).toBuffer();
const stream = cloudinary.uploader.upload_stream(
{ folder: "DEV" },
(error, result) => {
if (error) return console.error(error);
return res.json({ URL: result.secure_url });
}
);
bufferToStream(data).pipe(stream);
});
const start = () => {
try {
app.listen(3333);
} catch (error) {
console.error(error);
process.exit();
}
};
start();