BurningflamesOriginal post
Web Developer
I am trying to upload image to Appwrite but getting above mentioned error
JavaScript
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;JavaScript
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); }});Summary
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.