Вот общий пример Vue того, как проверить размер файла перед отправкой формы.
Суть в том, чтобы получить объект файла из свойства files
на самом входе и проверить размер файла через свойство size
; остальное - просто материал, связанный с предотвращением отправки формы в случае сбоя проверки.
Само собой разумеется, но важно, чтобы любые проверки входных данных, такие как эта, выполнялись в первую очередь на сервере; проверка на стороне клиента улучшает взаимодействие с пользователем, но не обеспечивает безопасность.
new Vue({
el: '#app',
methods: {
onSubmit(e) {
const file = this.$refs.file.files[0];
if (!file) {
e.preventDefault();
alert('No file chosen');
return;
}
if (file.size > 1024 * 1024) {
e.preventDefault();
alert('File too big (> 1MB)');
return;
}
alert('File OK');
},
},
});
<script src="https://rawgit.com/vuejs/vue/dev/dist/vue.js"></script>
<div id="app">
<form @submit="onSubmit">
<input type="file" ref="file">
<button type="submit">Submit</button>
</form>
</div>