Подтвердить что ты не робот

Как просмотреть изображение, сохраненное в поддельном пути в Angular 2/Typescript?

Браузеры не берут полный путь локального диска, вместо этого они объединяют имя файла с помощью fakepath. Есть ли способ получить доступ к файлу (изображению) из fakepath с помощью typescript или angular 2?

У меня есть это:

<img src="{{path}}" />

где моя переменная пути хранит "fakepath": "C:\fakepath\pic.jpg" в моем файле .ts.

Edit В этом обсуждается способ предварительного просмотра файла изображения из fakepath с использованием javascript. Если это возможно с Js, то это не то же самое в случае ts?

4b9b3361

Ответ 1

Это должно делать то, что вы хотите:

<input type='file' (change)="readUrl($event)">
<img [src]="url">
readUrl(event:any) {
  if (event.target.files && event.target.files[0]) {
    var reader = new FileReader();

    reader.onload = (event:any) => {
      this.url = event.target.result;
    }

    reader.readAsDataURL(event.target.files[0]);
  }
}

Ответ 2

Добавив к @GünterZöchbauer ответ, это не работало для меня, пока я не добавил это:

reader.onload = function(e:any){
   this.url = e.target.result;
}

До добавления "any" я получал ошибку:

property 'result' does not exist on type 'eventtarget' 

Ответ 3

Он работает, когда вы меняете событие на любой. Таким образом, Angular может получить доступ к любому свойству.

readUrl(event) {
if (event.target.files && event.target.files[0]) {
  var reader = new FileReader();

  reader.onload = (event:any) => {
    this.url = event.target.result;
  }

  reader.readAsDataURL(event.target.files[0]);
}

}