[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 files aren’t showing on mobile
hi, what can be the problem? i have a storage and there are images in it, the permissions are read for All Users, everything is fine on desktop, but on mobile t...
- Delete storage files all at once
I am using Appwrite Cloud. I want to delete all storage files in my bucket similar to how I can select all documents in a collection and delete them all at once...
- Storage images are not showing on mobile
Hi, can anyone help me? I have some images on the storage, and it is not shown on mobile, on desktop everything is fine.