简体   繁体   中英

how can i get actual file type from base64 String or file uri or bytearray in react native or js?

i want to check actual file type from base64 string or byte array.

for example if i renamed extension of file from jpg to txt or something then it should give me original mime type of file. is there any idea how to do it for js or react.

i tried using buffer and blob but it only returns Bytearray. here is the code,

let file = "ZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCxkR1Z6ZEFvPQ==";
     let buffer = Buffer.from(file,'base64').toJSON();
      console.log(file,buffer)

You have to transform the base64 to a Blob object, and the easiest way is to use the fetch API for that.

 const base64Image = 'data:image/png;base64,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' fetch(base64Image).then( async (res) => this.document.getElementById('image').src = window.URL.createObjectURL(await res.blob()) )
 <,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <title>Document</title> </head> <body> <img id="image" /> </body> </html>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM