Dado que no hay una forma confiable de agregar encabezados de solicitud personalizados a img src, estoy tratando de descargar la imagen manualmente con ajax.
Aquí está el código:
const load = async () => { loaded.value = false try { const res = await axios.get(src.value, { headers: { 'X-Chat-Session': sessid } }) console.log(res.data) // "����\u0002IExif\u0000\u0000MM\u0000*\u0000\u0000\u0000\u0008\u0000\u0007\u0001\u0000\u0000\u0003\u0000\u0000\u0000... loaded.value = true emit('loaded') } catch (e) { emit('loadingError', e) } }lo que quiero hacer es
<my image container>.appendChild(new Image(res.data)) Sin embargo, sería aún mejor si pudiera poner la respuesta binaria en el atributo src de un elemento <img> ya existente.
Por favor, tenga en cuenta que
Eso es todo. Gracias.
Prueba esto:
const load = async () => { loaded.value = false try { const res = await axios.get(src.value, { responseType: 'blob', headers: { 'X-Chat-Session': sessid } }) console.log(res.data) const url = URL.createObjectURL(res.data) <image element>.src = url; loaded.value = true emit('loaded') } catch (e) { emit('loadingError', e) } }