Ich versuche, Datei mit Angular 2 mit Web-API hochladen, aber ich bekomme keine Datei auf dem Server.Angular 2 mit Web-API-Datei hochladen
Mein Controller-Methode ist
[HttpPost]
[Route("add")]
public IHttpActionResult Add(CourseDto course)
{
try
{
return Ok("");
//course.CompanyId = User.Identity.GetUserId<int>();
//var result = _courseService.Add(course);
//return Ok(result.Message);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
Mein CourseDto
istpublic class CourseDto
{
public int Id { get; set; }
public HttpPostedFileBase CourseFile { get; set; }
}
Meine HTML-Datei ist
<form class="form-horizontal" #courseForm="ngForm" (ngSubmit)="onSubmit()" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label col-sm-4">Browse Course:</label>
<div class="col-sm-8">
<input type="file" name="file" (change)="onChange($event)"/>
</div>
</div>
<footer>
<div class="row">
<div class="col-md-12 col-lg-12 col-xs-12">
<div class="pull-right">
<button type="submit" class="btn btn-primary" [disabled]="!courseForm.form.valid">Add</button>
<button type="button" class="btn btn-default" (click)="close()">Close</button>
</div>
</div>
</div>
</footer>
</form>
Kursmodell für Typoskript
export class Course {
constructor(
public courseFile?:any ,
public id?: number
) {
}
}
ist
Meine Angular 2 Komponenten-Verfahren ist Verfahren
onSubmit() {
this.httpService.post("course/add", this.courseModel)
.subscribe(result => {
this.loggerService.notify(this, "Courses added successfully", Toast[Toast.success]);
this.httpService.onUpdateModel();
this.refreshModel();
}, error => {
console.log(error);
});
}
onChange(event) {
this.courseModel.courseFile =event.target.files[0];
}
Angular 2 Http Post-Methode ist
istpost(url: string, data: any) {
url = `${appConfig.apiUrl}${url}`;
this.progressBarService.RequestStarted();
return this.http.post(url, data)
.finally(() => this.progressBarService.RequestFinished())
.map((result: Response) => result.json())
.catch(this.handleError);
}
ich das Modell erfolgreich empfangen meine Web-API-Controller in aber ohne Datei. Wie sende ich die Datei an das Web-API-Controller-Modell?
Gott segne deine Seele, um mich vor dieser Ungeheuerlichkeit zu retten, in die ich mich versetzte. – Kadaj
Jederzeit Kumpel :) –