Rank 2: Process
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