Angular File Upload Last Updated : 09 Jan, 2025 Comments Improve Suggest changes Like Article Like Report The file upload is an essential component to make a form that store some image kind of data. It helps in applications using image upload or in the file sharing. This file-upload component uses file.io API for uploading file and in return it provides a shareable link. Furthermore, we can send get request to shareable link to get the file but for now, our only focus is on upload section so we only use the post method. Approach:Create a new angular app using following command- ng new angular-file-upload Move inside the app by using cd command- cd src/app/Generate new component file-upload- ng g c file-upload/ Open src/app folder and start editing app.component.html file. html <app-file-upload></app-file-upload> Create a service for file-upload component via command- ng g s file-upload/Open src/app/file-upload folder and start editing file-upload.component.ts file. javascript import { Component, OnInit } from '@angular/core'; import { FileUploadService } from './file-upload.service'; @Component({ selector: 'app-file-upload', templateUrl: './file-upload.component.html', styleUrls: ['./file-upload.component.css'] }) export class FileUploadComponent implements OnInit { // Variable to store shortLink from api response shortLink: string = ""; loading: boolean = false; // Flag variable file: File = null; // Variable to store file // Inject service constructor(private fileUploadService: FileUploadService) { } ngOnInit(): void { } // On file Select onChange(event) { this.file = event.target.files[0]; } // OnClick of button Upload onUpload() { this.loading = !this.loading; console.log(this.file); this.fileUploadService.upload(this.file).subscribe( (event: any) => { if (typeof (event) === 'object') { // Short link via api response this.shortLink = event.link; this.loading = false; // Flag variable } } ); } } Open src/app/file-upload/ and start editing file-upload.service.ts file. javascript import { Injectable } from '@angular/core'; import {HttpClient} from '@angular/common/http'; import {Observable} from 'rxjs'; @Injectable({ providedIn: 'root' }) export class FileUploadService { // API url baseApiUrl = "https://file.io" constructor(private http:HttpClient) { } // Returns an observable upload(file):Observable<any> { // Create form data const formData = new FormData(); // Store form name as "file" with file data formData.append("file", file, file.name); // Make http post request over api // with formData as req return this.http.post(this.baseApiUrl, formData) } } Open src/app/file-upload and start editing file-upload.component.html file. html <div class="text-center"> <input class="form-control" type="file" (change)="onChange($event)"> <button (click)="onUpload()" class="btn btn-success"> Upload </button> </div> <!-- Shareable short link of uploaded file --> <div class="container text-center jumbotron" *ngIf="shortLink"> <h2> Visit Here</h2> <a href="{{shortLink}}">{{shortLink}}</a> </div> <!--Flag variable is used here--> <div class="container" *ngIf="loading"> <h3>Loading ...</h3> </div> Open src/app/ and start editing app.module.ts file. javascript import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { FileUploadComponent } from './file-upload/file-upload.component'; import { AppComponent } from './app.component'; import {HttpClientModule} from '@angular/common/http'; @NgModule({ declarations: [ AppComponent, FileUploadComponent, ], imports: [ BrowserModule, HttpClientModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } Now run this command to serve on localhost ng serveOutput:Before file selection:After file selection and clicking on button:After loading is completed:HTML is the foundation of webpages, is used for webpage development by structuring websites and web apps.You can learn HTML from the ground up by following this HTML Tutorial and HTML Examples. Comment More infoAdvertise with us Next Article Angular File Upload R Ritik_Dua Follow Improve Article Tags : JavaScript Web Technologies HTML AngularJS HTML-Misc AngularJS-Misc +2 More Similar Reads Blaze UI File Upload Blaze UI is a framework-free open source UI toolkit that uses JavaScript components to build great user interfaces. It is the same as a bootstrap for use and has great different elements to use to make your website look more amazing. This framework allows us to use various of its styles and properti 2 min read Angular PrimeNG FileUpload Basic Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. In this article, we will see how to use FileUpload Basic in Angular PrimeNG. Angular PrimeNG FileUpl 3 min read Angular PrimeNG FileUpload File Size Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. This article will show us how to use FileUpload File Size in Angular PrimeNG. The FileUpload Compone 3 min read Angular PrimeNG FileUpload Events Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. In this article, we will learn about Angular PrimeNG FileUpload Events The FileUpload component is u 3 min read Angular PrimeNG FileUpload File Types Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. This article will show us how to use FileUpload File Types in Angular PrimeNG. The FileUpload Compon 3 min read Angular PrimeNG FileUpload Styling A responsive website may be created with great ease using the open-source Angular PrimeNG framework, which has a wide range of native Angular UI components for superb style. In this article, we are going to discuss Angular PrimeNG FileUpload Styling. A powerful uploader, FileUpload supports drag-an 3 min read Angular PrimeNG FileUpload Advanced Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. In this article, we will see how to use FileUpload Advanced in Angular PrimeNG. Angular PrimeNG File 3 min read Angular PrimeNG FileUpload Basic UI Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. This article will show us how to use FileUpload Basic UI in Angular PrimeNG. Angular PrimeNG FileUpl 3 min read Angular PrimeNG FileUpload DragDrop Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. In this article, we will see how to use the FileUpload DragDrop in Angular PrimeNG. Angular PrimeNG 3 min read Angular PrimeNG FileUpload Auto Uploads Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. In this article, we will see how to use the FileUpload Auto Uploads in Angular PrimeNG. Angular Prim 3 min read Like