Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

237
Visualizações
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 Respostas
Responde à pergunta

0

Solved the problem with:

response.data.text().then(text => {
    this.modules[current]['results']['text']['value'] = text
});
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda