2017-10-10 10 views
1

Je voudrais envoyer une image avec http.post. J'utilise ce bloc de code, mais me donne l'erreur 404. J'ai essayé api sur le facteur, le retour du succès.Comment envoyer une image avec http.post

Où est ma faute?

Merci.

changeprofileimg() 
    { 
    this.camera.getPicture({ 
     sourceType: this.camera.PictureSourceType.PHOTOLIBRARY, 
     destinationType: this.camera.DestinationType.DATA_URL, 
     quality: 100, 
     encodingType: this.camera.EncodingType.PNG, 
     targetHeight:500, 
     targetWidth:500, 
     correctOrientation:true 
    }).then(imageData => { 

     const image = 'data:image/jpeg;base64,'+imageData; 
     var veri; 
     var headers = new Headers(); 
     headers.append('Accept', 'application/json'); 
     headers.append('Authorization' , 'Bearer '+this.globalvars.getToken()); 
     headers.append('Content-Type', 'multipart/form-data'); 
     let options = new RequestOptions({ headers: headers }); 


     let postParams = { 
     file:image 
     } 

     this.http.post("http://.../api/profile/image/upload", postParams, options) 
     .subscribe(data => { 
      console.log(data['_body']); 
      veri=data['_body']; 
      veri = veri.replace(/\\/g, ""); 
      veri = JSON.parse(veri); 
      console.log(veri); 
     }); 

    }); 
    } 

Répondre

0

Vous devez utiliser FormData à cet effet:

 let formData = new FormData(); 
     formData.append('file', image); 


     this.http.post("http://.../api/profile/image/upload", formData, options) 
     .subscribe(data => { 
      console.log(data['_body']); 
      veri=data['_body']; 
      veri = veri.replace(/\\/g, ""); 
      veri = JSON.parse(veri); 
      console.log(veri); 
     }); 

    }); 

plus que vous obtenez une erreur 404, de sorte que vous devriez vérifier vos paramètres d'api et de repos des méthodes de api.

+0

J'ai encore ajouté ce code retour "{" code ": 404," status ":" FAIL "," message ":" Erreur de chargement de fichier "}" –

+0

Vous avez probablement des problèmes avec votre point de terminaison obtiendrez 404 statut http. – asmmahmud

+0

mais cette réussite API sur le facteur –