Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

233
Vistas
Vue.js read blob as object/string to app-variable

I have a vue app with

data: function() {
    return {
        modules: [],
        ...

And method:

methods: {
    submitted: function(){
        ...
        axios({method: 'get',
              url: 'http://' + document.location.host + '/api/execute?commands=' + encodeURI(JSON.stringify(commands)),
              responseType: "blob"}).then(response => {
            
            if (response.headers['content-type'] === 'image/jpeg'){
                this.modules[current]['results']['image']['visible'] = true
                this.modules[current]['results']['text']['visible'] = false
                
                const url = window.URL.createObjectURL(response.data)
                this.modules[current]['results']['image']['value'] = url
            }
            else{
                this.modules[current]['results']['image']['visible'] = false
                this.modules[current]['results']['text']['visible'] = true
                var reader = new FileReader();
                reader.onload = function(e) {
                   // reader.result contains the contents of blob as a typed array
                   console.log(e)
                   this.modules[current]['results']['text']['value'] = reader.result
                }
                reader.readAsArrayBuffer(response.data);
                
            }
            ...

This should request some data from server and show it as text or image depending on server response.

*v-for module in modules earlier*
<div class="resultText" :visibility=module.results.text.visible>
    {{ module.results.text.value }}
</div>
<div class="resultImage" :visibility=module.results.image.visible>
    <img :src=module.results.image.value>
</div>

But the method gives js error when text returned: TypeError: this.modules is undefined
The error in this string:

this.modules[current]['results']['text']['value'] = reader.result

With images it works fine.
With self.modules it gives same: TypeError: self.modules is undefined

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solved the problem with:

response.data.text().then(text => {
    this.modules[current]['results']['text']['value'] = text
});
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda