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
- Unknown attribute type: varchar / text
Since the `string` type is deprecated I tried using `varchar` and `text` in some newer tables, but when running `appwrite pull tables && appwrite types ./src/li...
- trying to figure out how to activate my...
please help
- Bug: TOTP MFA verification always fails ...
*Bug: TOTP MFA verify always returns `user_invalid_token` (Cloud 1.8.1, Frankfurt)** Project ID: `68dd48440003e537d849` SDK: `appwrite@18.2.0` (also tested wit...