I have an API which returns an Image as byte data, but I don't know how can I show this bytes in the src of the img tag
here is an example of what I got in the result

and this is how I use axios to make use of the API
const getFile = async (nombreArchivo) => {
const tokenApp = window.localStorage.getItem('token')
const {data: res} = await axios.get(`${url}photo-2.jpg`,
{ headers: { Authorization: `${tokenApp}` },responseType: 'json',});
return res;};
CodePudding user response:
Add {responseType: 'blob'} to your axios config.
Then use <img src={URL.createObjectURL(responseData)} />to display it.
CodePudding user response:
You can convert the bytes array into the base64 encoding and use this for rendering the image.
byte[] to base64:
const base64String = btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
source of the conversion here
Once you have the base64 you can use it into the src field of a standard img tag
