[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
- Issue with Storage File Details View: In...
- getFileView() returns 401 Unauthorized e...
Description: I’m encountering a 401 Unauthorized error when attempting to access a file URL returned by storage.getFileView(...), even though the user is authe...
- AVIF file format as default
In appwrite, is it possible that whenever a user uploads an image it gets converted to a specific format for eg AVIF always? I know I can use cloud functions bu...
