0
私はVuejs + Firebase Storageにアップローダーコンポーネントを作成しようとしています。メソッドは正常に動作しますが、ビューにアップロードされたパーセントを表示することはできません。ここに私のコード:Vue.js:進捗状況のアップロードが表示されない
<template>
<div>
<input type="file" multiple accept="image/*" @change="detectFiles($event.target.files)">
<div>{{progressUpload}}</div>
</div>
</template>
<script>
import { storage } from '../firebase'
export default {
data() {
return {
progressUpload: 0,
file: File,
}
},
methods: {
detectFiles (fileList) {
Array.from(Array(fileList.length).keys()).map(x => {
this.upload(fileList[x])
})
},
upload (file) {
let uploadTask = storage.ref('imagenes/articulos').put(file);
uploadTask.on('state_changed', function(snapshot) {
this.progressUpload = Math.floor(snapshot.bytesTransferred/snapshot.totalBytes * 100);
})
uploadTask.then(() => {
console.info('File uploaded!');
})
}
}
}
</script>
HTMLテンプレートの{progressUpload}}は表示されません。しかし、コンソールでは、結果は完全にログに記録されます。ファイルが正しくアップロードされています
完全な例を作成できますか?コードの一部では分かりにくいです。 – kichik
ファイルは正常にアップロードされましたか?可能であれば、テンプレートコードを表示して、アップロードの流れを確認してください。 –
私の例にテンプレートコードを追加しました。 –