0

HTTPポストAPIで画像をアップロードしたい。私の入力はこのようなものです。角4画像アップロード

<input type="file" (change)="changedata($event)" name="file"/> 

とChangedata()関数。

let fileList: FileList = event.target.files; 
    if (fileList.length > 0) { 
    let file: File = fileList[0]; 
    let formData: FormData = new FormData(); 
    formData.append('File', file, file.name); 
    this.mainservice.updateIcon(formData).subscribe(responseData=>{ 
      console.log(' Reposnce Data ',responseData)     
     }) 
    } 

私が要求ペイロードをチェックすると、その画像を送信しない..私はBASE64で画像を送信することができますどのようにhttps://www.screencast.com/t/vKFKj0S3
参照してください?

答えて

0
<input id="profile" type="file" name="profile" required (change)="uploadImage()"> 

とuploadFileで

public uploadImage(): void { 
    let files = this.element.nativeElement.querySelector('#profile').files; 
    let formData = new FormData(); 
    let file = files[0]; 
    formData.append('userID', this.userID); // if you want pass other value 
    formData.append('profile', file, file.name); // add image in FormData 
    // pass image to service 
    this.fileUpload.uploadFile(formData).subscribe(res => res); 
} 

Uploadimage機能 - >>サービス

public uploadFile(formdata: any) { 

     return this.http.post('ApiURL here', formdata).catch(this.errorHandler); 
     // return this.apiUrl; 
    } 

private errorHandler(error: Response) { 
     console.error('Error Occured: ' + error); 
     return Observable.throw(error || 'Some Error on Server Occured'); 
    }