I did a Backend code using buffer and base64:
import { mediaManager } from ‘wix-media-backend’ ;
import { Buffer } from ‘buffer’ //const buf1 = Buffer.alloc(10); require is to Browserify
export function beFileUpload ( fileName , image64 ) {
console . log ( “BE->beFileUpload: url” , fileName , image64 . length , image64 )
**let** file = image64 . split ( "," ) //'data:video/mp4;base64,PZZGHYHGG....' => file[0] = data:video/mp4;base64 file[1] = PZZGHYHGG....
**let** header = file [ 0 ] // file[0] = data:video/mp4;base64
**let** data = file [ 1 ] // file[1] = PZZGHYHGG....
**let** mimeType = header . split ( ";" )[ 0 ]. split ( ":" )[ 1 ] // video/mp4
**let** mediaType = header . split ( "/" )[ 0 ]. split ( ":" )[ 1 ] // mp4
console . log ( '"be header:' , header , mimeType , mediaType )
console . log ( "BE url without mime" , data . length )
**let** image = Buffer . **from** ( data , "base64" )
console . log ( "BE buffer.length" , image . length )
console . log ( "p1 started" , fileName , image . length , mimeType , mediaType )
**return** mediaManager . upload (
"/myUploadFolder/buffer" ,
image ,
fileName , {
"mediaOptions" : {
"mimeType" : mimeType , //"image/png"
"mediaType" : mediaType //"image"
},
"metadataOptions" : {
"isPrivate" : **false** ,
"isVisitorUpload" : **false** ,
"context" : {
"someKey1" : "someValue1" ,
"someKey2" : "someValue2"
}
}
}
)
. then ( result => {
console . log ( "p1 then" , result )
**return** result
})
. **catch** ( err => {
console . log ( "p1 catch" , err )
**return** err
})
}
Hope this help.
The image need to be a base64 encoded.