[SOLVED]storage.createFile() creates image with MIME Type of "application/octet-stream"
- 0
- Storage
I am working with node.js, avatarString is a base64 string of png looks like "data:image/png;base64,xxxxxxxx" The following code is a function instance that converts base64 to buffer to create an inputFile object and pass into createFile ` // src/index.js import InputFile from "./inputFile.js"; const fileName = userID + '.png'; const avatarString = params.avatar; const avatarBuffer = Buffer.from(avatarString, 'base64'); const fileResult = await storage.deleteFile('avatar', userID).then(() => { return storage.createFile('avatar', userID, InputFile.fromBuffer(avatarBuffer, fileName)); })
// src/inputFile.js export default class InputFile { stream; // class NodeJS.ReadableStream filename; // File name size; // Total final size of the file content
static fromBuffer = (buffer, filename) => { const stream = Readable.from(buffer); const size = Buffer.byteLength(buffer); return new InputFile(stream, filename, size); };
constructor(stream, filename, size) { this.stream = stream; this.filename = filename; this.size = size; } } ` After execution, a file of MIME Type: application/octet-stream was created instead of image/png
update: solved, looks like I need to get rid of the meta at start of the base64 string
params.avatar.replace(/^data:image\/\w+;base64,/, "")
[SOLVED]storage.createFile() creates image with MIME Type of "application/octet-stream"
Recommended threads
- Realtime for files() works almost well, ...
I have been trying to make use of realtime, today (14.03.26) I have pulled all the latest versions of docker images, and sdk available. Whats working: - Conn...
- 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...