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
- Sharing cookies
Hi, I’m using Appwrite Cloud, and I have a setup where my Appwrite backend is hosted on a subdomain (e.g., api.example.com), while my frontend (Next.js app) and...
- Claiming Guest-Created Documents After S...
I'm wondering if it's possible for a guest or anonymous user to create a document and attach an email address to it, so that the document can later be claimed b...
- Organization not exists anymore
Hello! We have a problem with a cloud database. We are on the Free plan, but after a refresh the site wants me to create a new organisation, and I not see the c...
