簡體   English   中英

Angular 2 File Upload示例

[英]Angular 2 File Upload sample

請您分享一個簡單的文件上傳示例,以傳達使用Angular 2時此類功能的基礎嗎?

我所做的研究(正在做)一直在冒泡Angular的舊版本。 此時,我要做的就是將一個小的圖像文件加載到屬性或本地存儲中,並將其顯示在網頁上。

我想象這意味着使用HttpClient,但是由於我是Angular 2的新手,因此在不依靠簡單示例的情況下鼓起它的工作原理是一項挑戰。

我正在嘗試此方法,但沒有達到我期望的效果。 感覺好像我缺少導入。 此部分僅嘗試獲取文件名,而不顯示圖像。 它不是使用[[ngModel)]出現的,我必須訴諸更改事件來獲取所選文件。

零件

@Component({
    selector:'home-page'
    ,templateUrl:'./home.page.html'
})
export class HomePageComponent{
    CurrentFile:File;
    public FileChangeEvent(fileInput:any){
        this.CurrentFile = fileInput.target.files[0];
    }
}

html

<div>
    <input type="file" (change)="FileChangeEvent($event)">
    <div *ngIf="CurrentFile">
        <p>{{CurrentFile.name}}</p>
    </div>
</div>

在Angular 2中上傳文件所需的一切:

https://github.com/valor-software/ng2-file-upload

經過一番粗略的研究后,我得到了我認為可以視為基本知識的內容。 除了頁面加載的時間和文件未知之外,沒有嘗試處理諸如未選擇圖像的情況。

零件

@Component({
    selector:'home-page'
    ,templateUrl:'./home.page.html'
})
export class HomePageComponent{
    CurrentFile:File;
    ImageSource:string;

    public FileChangeEvent(fileInput:any){
        this.CurrentFile = fileInput.target.files[0];

        let reader = new FileReader();
        reader.onload = () => {
                this.ImageSource = reader.result;
            };
        reader.readAsDataURL(this.CurrentFile);
    }
}

的HTML

<div>
    <input type="file" (change)="FileChangeEvent($event)">
    <div *ngIf="CurrentFile">
        <img [src]="ImageSource">
    </div>
</div>

您可以使用以下答案將文件上傳到服務器:

https://stackoverflow.com/a/40216616/5413117

然后,您可以例如將其上傳到azure,並通過azure存儲鏈接顯示圖像。

如果您想擺脫使用文件更改事件的麻煩,盡管它可以工作,但是您可以為文件輸入編寫一個控制值訪問器,在此進行解釋:

https://stackoverflow.com/a/41938495/5413117

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM