[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
- Storage Bucket Permissions
Hey folks, when enabling CRUD on the bucket level for the role any, should the bucket be accessible when using a session client?
- `type 'Null' is not a subtype of type 'b...
When creating a new file using Appwrite Flutter SDK, the file is successfully created on the server, but the client throws the following exception: ``` type ...
- Need help to create a wrapper which let ...
I’m looking for help setting up Appwrite properly on a VPS so I can build a self-hosting wrapper around it. The goal is to provide a Linux executable that allow...