Я хочу получить имя файла из моего тега ввода html в модальном представлении и сохранить его с помощью Angular2. Кто-нибудь может мне помочь?
Получить имя файла из файла типа ввода Angular2
Ответы (6)
Вы можете сделать следующее:
HTML:
<input type="file" (change)="fileEvent($event)" />
Машинопись:
fileEvent(fileInput: Event){
let file = fileInput.target.files[0];
let fileName = file.name;
}
person
Igor Janković
schedule
27.02.2017
и как получить файл ext?
- person Shreyas Pednekar; 14.08.2018
Для тех, кто получает
Property 'files' does not exist on type 'EventTarget'
, проверьте stackoverflow.com/a/44932086/4281182
- person Selçuk Cihan; 24.04.2019
я получаю неопределенное имя файла.
- person jukebox; 06.06.2019
@SelçukCihan Спасибо, приятель. Ваш комментарий спас мне жизнь.
- person James Rao; 19.07.2019
Можно попробовать более элегантный вариант:
HTML:
<input #file type="file" (change)="updateFile(file)">
Скрипт:
updateFile(file: HTMLInputElement) {
let name = file.value;
}
person
Sergey Dzyuba
schedule
26.12.2017
HTML
<button (click)="imgFileInput.click()">Add</button>
{{ imgFileInput?.files[0]?.name }}
<input hidden type="file" #imgFileInput (change)="uploadSingle($event)"/>
Компонент
uploadSingle(event) {
const fileName = event.target.files[0].name;
}
person
Stepan Prokopiak
schedule
31.05.2018
Пожалуйста, объясните свои строки кода, чтобы другие пользователи могли понять его функциональность. Спасибо!
- person Ignacio Ara; 31.05.2018
Это совершенно не нужно. Метка с атрибутом for выполнит эту работу, не перехватив ни одного клика. Также я не совсем уверен, что вы можете вызвать щелчок по скрытому элементу.
- person Sampgun; 19.02.2019
HTML
<input type="file" (change)="onFileChange($event)">
Скрипт
onFileChange(event) {
let files = event.target.files[0].name;
}
person
Vivek Singh
schedule
27.02.2017
Как получить путь к файлу?
- person Krishna Karki; 12.12.2017
Вы можете', это функция безопасности в современных браузерах. это может помочь, developer.mozilla.org/en- США/документы/Интернет/HTML/Элемент/ввод/файл
- person Vivek Singh; 12.12.2017
Эта работа формирует меня:
HTML
<input type="file" (change)="detectFiles($event)">
<div class="output">Seleccionado: {{ fileName }} </div>
ТС
selectedFiles: FileList;
fileName: string;
detectFiles(event) {
this.selectedFiles = event.target.files;
this.fileName = this.selectedFiles[0].name;
console.log('selectedFiles: ' + this.fileName );
}
person
Alvargon
schedule
07.09.2018
Решение этой ссылки https://stackoverflow.com/a/44932086/4281182, предложенное @ Selçuk Cihan, не помогло, поэтому мой Обходной путь состоял в том, чтобы сделать тип параметра fileInput «любым», выполнив это
fileEvent(fileInput){
let file = fileInput.target.files[0];
let fileName = file.name;
}
поэтому во время выполнения TS это чистый код JS
В любом случае спасибо за это здорово, и это сэкономило мне много времени
person
Mohammed Yousif
schedule
08.08.2019