how can i achive uploading a file to storage, using a url?
i attach a photo of an example i want to do, is that possible and any hints on how to do it?
You cant
There is no possible way??? Tried to fetch it and parse the buffer to it but did not work sadly
You should be able to upload via a buffer
async function uploadImage(
imageUrl,
imageName,
bucketId = process.env.IMAGES_BUCKET_ID
) {
try {
const imageResponse = await fetch(imageUrl);
if (!imageResponse.ok) {
throw new Error("Failed to fetch image from URL");
}
const arrayBuffer = await imageResponse.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
const inputFile = sdk.InputFile.fromBuffer(buffer, imageName);
const result = await storage.createFile(bucketId, ID.unique(), inputFile);
return result;
} catch (error) {
console.error("Error uploading image:", error);
throw error;
}
}
Seems correct to me
Error uploading image: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type number (3798243238)
Ah nvm see the error imageName should be an string
What sdk are you using?
Appwrite
const sdk = require("node-appwrite");
Maybe you can use InputFile.fromBlob(await imageResponse.blob())
Btw there's a new version of the node sdk
I tried updating lately and had loads of errors... So I just went back to the old one
Recommended threads
- Error getting preview of file
Rest Response: ``` { "message": "Server Error", "code": 500, "type": "general_unknown", "version": "1.8.1" } ``` Appwrite Logs ``` appwrite ...
- Storage images using custom domain retur...
Some of the images uploaded to my storage bucket returns this error: ``` { "message": "Project with the requested ID could not be found. Please check the value...
- Bandwidth limit for your organization ha...
I received an alert that I exceeded the Free plan bandwidth limit (showing 5.86 GB), but my dashboard tells a different story. The usage stats there are much lo...