#javascript #angular
#javascript #угловой
Вопрос:
Я новичок в angular 6. Я создаю проект с использованием angular. Я работаю с загрузкой файлов в angular 6. Я просто обновляю значение модели file, но получаю ошибку.
Вот код
<input type="file" (change)="onFileChanged($event)" name="file" [(ngModel)]="info.file">
ngOnInit() {
this.info.file = this.profileImg // this contains the image path
}
onFileChanged(event: any) {
this.files = event.target.files;
if (event.target.files amp;amp; event.target.files[0]) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = e => this.profileImg = reader.result;
reader.readAsDataURL(file);
}
}
this.profile
изображение — это путь к изображению, подобный изображению
ОШИБКА DOMException: не удалось установить свойство ‘value’ для ‘HTMLInputElement’: Этот элемент ввода принимает имя файла, которое может быть программно установлено только в пустую строку.
Комментарии:
1. разместите некоторый код вместо одной строки.
2. вопрос обновлен…….
3. Где вы объявляете
profileImg
и когда получаете ошибку?4. Также опубликуйте код этого метода:
onFileChanged($event)
5. profileimg содержит путь к изображению …
Ответ №1:
Попробуйте удалить [(ngModel)]
from input
и привязать его к onFileChanged($event)
методу.
<input type="file" (change)="onFileChanged($event)" name="file">
onFileChanged(event: any) {
this.files = event.target.files;
if (event.target.files amp;amp; event.target.files[0]) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = e => this.profileImg = reader.result;
reader.readAsDataURL(file);
this.info.file = this.profileImg
}
}
См. Эту проблему: проблема с Angular