Back
Cannot read properties of undefined (reading 'size') while uploading image to Appwrite
- 0
- Web
- Storage
- REST API
I am trying to upload image to Appwrite but getting above mentioned error
TypeScript
import { ID } from "appwrite";
import storage from "./storage.js";
const addArticleImage = async (image, name) => {
return storage.createFile("<BUCKET_ID>", ID.unique(), image, name);
};
export default addArticleImage;
TypeScript
import addArticleImage from "./appwrite/article_images.js";
import { Readable } from "stream";
const upload = multer({
storage: multer.memoryStorage(),
});
app.post("/api/v1/images", upload.single("image"), async (req, res) => {
try {
console.log(req.file);
res.json({ name: "HE" });
const stream = Readable.from(req.file.buffer);
const img = addArticleImage(stream, req.file.originalname);
console.log(img);
} catch (error) {
console.log(error);
}
});
TL;DR
Developers are encountering an error 'Cannot read properties of undefined (reading 'size')' while trying to upload an image to Appwrite. The issue occurs because req.file.buffer is undefined. To solve this, developers can use multer and Readable from "stream" to create a stream from req.file.buffer and then pass it into addArticleImage function.Recommended threads
- Anyone manage to get a slack-bot working...
I'm trying to setup a bot the send and retrieve slack messages to a chat in my site. I've failed with SSE and appwrite functions soo far... i'll trying polling ...
- [Sites] Deployment finished but site is ...
The deployment finished and is active but the site shows timeout error.
- Does Appwrite allow SSE ?
i'm trying to setup a slack bot on my site. Your deployed SSE endpoint is returning a non‑SSE response …and the browser immediately closes the connection. read...