I set up a webhook that will receive image metadata that contains image URL. I convert it to a image buffer and try to upload it to Appwrite Storage, but I'm encountering errors. I upload it using the Appwrite SDK.
The Error happens at this line of code : "const inputFile = InputFile.fromBuffer(buffer, imageName);" TypeError: Cannot read properties of undefined (reading 'fromBuffer')
const express = require('express');
const bodyParser = require('body-parser');
require('dotenv').config();
const sdk = require('node-appwrite');
const { InputFile } = require('node-appwrite');
const https = require('https');
app.use(bodyParser.json({ limit: '50mb' }));
const client = new sdk.Client()
.setEndpoint(process.env.APPWRITE_API_ENDPOINT)
.setProject(process.env.APPWRITE_PROJECT_ID)
.setKey(process.env.APPWRITE_API_KEY);
const storage = new sdk.Storage(client);
const databases = new sdk.Databases(client);
function fetchImage(url) {
return new Promise((resolve, reject) => {
https.get(url, (response) => {
if (response.statusCode !== 200) {
reject(new Error(`Failed to fetch image: ${response.statusCode}`));
return;
}
const data = [];
response.on('data', (chunk) => {
data.push(chunk);
});
response.on('end', () => {
resolve(Buffer.concat(data));
});
}).on('error', reject);
});
}
async function uploadImage(imageUrl, imageName, bucketId = process.env.BUCKET_ID) {
try {
const buffer = await fetchImage(imageUrl);
console.log('Image fetched, buffer size:', buffer.length);
const inputFile = InputFile.fromBuffer(buffer, imageName);
const result = await storage.createFile(bucketId, sdk.ID.unique(), inputFile);
return result;
} catch (error) {
console.error("Error uploading image:", error);
throw error;
}
}
Recommended threads
- I encountered an error at http://localho...
Hi, good morning and good evening. I have a problem again. I encountered an error while running http://localhost:3000/. I followed <@462046107556511744> steps t...
- Realtime is unable to connect for some r...
title basically. Here is the error: Ive noticed this happen when the tab is revisted after hibernated and a reload has not taken enough. To fix this you have ...
- End 2 End tests keep hitting rate limiti...
We have a CI/CD pipeline that runs our E2E test every time we commit a change to our PRs. We're consistently running into rate limiting issues. What are some so...