Wie kann ich mit dem neuen Angular 4.3 HttpClient Dateien in einen ASP.NET Core 2.0-Controller hochladen und darauf zugreifen, während der Upload-Fortschritt an den Client gemeldet wird? HierASP.NET Core 2.0 und Angular 4.3 Datei-Upload mit Fortschritt
3
A
Antwort
5
ist ein funktionierendes Beispiel, um loszulegen:
HTML
<input #file type="file" multiple (change)="upload(file.files)" />
<span *ngIf="uploadProgress > 0 && uploadProgress < 100">
{{uploadProgress}}%
</span>
Typoskript
import { Component } from '@angular/core';
import { HttpClient, HttpRequest, HttpEventType, HttpResponse } from '@angular/common/http'
@Component({
selector: 'files',
templateUrl: './files.component.html',
})
export class FilesComponent {
public uploadProgress: number;
constructor(private http: HttpClient) { }
upload(files) {
if (files.length === 0)
return;
const formData = new FormData();
for (let file of files)
formData.append(file.name, file);
const req = new HttpRequest('POST', `api/files`, formData, {
reportProgress: true,
});
this.http.request(req).subscribe(event => {
if (event.type === HttpEventType.UploadProgress)
this.uploadProgress = Math.round(100 * event.loaded/event.total);
else if (event instanceof HttpResponse)
console.log('Files uploaded!');
});
}
}
-Controller
[HttpPost, DisableRequestSizeLimit, Route("api/files")]
public async Task UploadFiles()
{
var files = Request.Form.Files; // now you have them
}
0
Sie könnten die Schnittstelle Microsoft.AspNetCore.Http.IFormFile verwenden, die eine mit der HttpRequest gesendete Datei darstellt, um den Zugriff auf die Datei zu vereinfachen.
[HttpPost, DisableRequestSizeLimit, Route("api/files")]
public async Task UploadFiles(IFormFile file){
//your file stream
var stream = file.OpenReadStream();
}
Verwandte Themen
- 1. ASP.NET Core 2.0 Razor + Angular 4 Hybrid
- 2. ASP.NET CORE 2.0 Authentification
- 3. Docker - ASP.NET Core 2.0 mit Angular 4 Vorlage
- 4. AutoMapper in ASP.Net Core 2.0
- 5. Teilseiten in ASP.NET Core 2.0
- 6. ASP.NET Core 2.0 Authentifizierung Middleware
- 7. Kennwortverlauf für ASP.net Core 2.0
- 8. Rekursion in Asp.Net Core 2.0
- 9. AuthorizationAttribute in ASP.NET Core 2.0
- 10. ASP.NET Core Identity 2.0 SignoutAsync
- 11. Upgrade auf ASP.Net Core 2.0
- 12. Machen Sie Angular Routen in ASP.NET Core 2.0 App
- 13. Asp.Net Core 2.0 Xunit Tests
- 14. CacheItemRemovedCallback in ASP.Net Core 2.0
- 15. GenerateChangePhoneNumberTokenAsync auf ASP.NET Core 2.0
- 16. Veröffentlichung schlägt auf ASP.NET Core 2.0/Angular Vorlage App
- 17. ASP.NET Core 2.0 mit MongoDB Identität
- 18. Asp.net Core 2.0 Upgrade Probleme mit IdentityRole und IdentityUser
- 19. Upgrade von ASP.NET Core 1.1 auf ASP.NET Core 2.0
- 20. wie man mit ASP.NET Core 2.0 und newtonsoft.json arbeitet
- 21. asp.net core 2.0 spa eckig + google map
- 22. Auth0, Angular 4 und ASP.NET Core
- 23. ASP.NET Core 2.0 Web API Antwort Caching
- 24. Angular 4.3 HttpClient mit MockBackend
- 25. .Net Core 2.0 Angular SPA Routing
- 26. Asp.Net Core 2.0 Webapi einfache Authentifizierung
- 27. Asp.Net Core 2.0 Linux Arm - SQLIte Problem
- 28. ng2-Datei-Upload ASP.NET Core MVC - Chunk Upload Fortschritt
- 29. ASP.NET Core Identity 2.0 Filter autorisieren
- 30. ASP.NET Core 2.0 Bearer Auth ohne Identität
Ich war fast fertig mit meiner eigenen Lösung und blieb stecken, ersetzt mit dieser Großartigkeit. Vielen Dank –
Ich kann @ angular/common/http nicht finden – Isuru