Как текстовый файл сохранить в строке?
Пытаюсь получить из текстового файла строку, в консоль выводится как надо, но сохранить не могу, как можно ее сохранить? (использую фреймворк vue js )
uploadString( e ) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = function() {
console.log(reader.result);
this.textToChange=reader.result
};
reader.readAsText(file);
},
Ответы (1 шт):
Автор решения: Neakit
→ Ссылка
У вас потерян контекст. Посмотрите что выводит this в обработчике onload
пример для test.txt
const Hello = Vue.extend({
template: `
<div>
<input type="file" @input="uploadString"/>
<div v-html="msg"></div>
</div>
`,
data() {
return {
msg: 'Hello!'
}
},
methods: {
saveText (e) {
console.log(e.currentTarget, e.target);
this.msg = e.target.result
},
uploadString( e ) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = this.saveText;
reader.readAsText(file);
},
}
})
new Vue({
el: '#app',
components: {
Hello
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<hello></hello>
</div>