Я работаю над приложением, в которое нужно загрузить до 4 изображений с другими данными (изображения необязательны).При загрузке нескольких изображений с другими данными с Ionic Native HTTP-запрос на сервер узла (API создаются в nodejs) я получаю сообщение об ошибке ниже.
error:{"statusCode":413,"error":"Request Entity Too Large","message":"Payload content lenght greater than maximum allowed: 1048576"}
Я искал проблему, но не получил решения, кроме this , но не знаю, как применить ее в моем приложении ionic 3.
Это мой код
openGallery(){
if (
this.thumb1 != "" &&
this.thumb2 != "" &&
this.thumb3 != "" &&
this.thumb4 != ""
) {
this.presentToast("You can not upload more than 4 images.");
return;
}
var options = {
sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
encodingType: this.camera.EncodingType.JPEG,
quality: 10,
destinationType: this.camera.DestinationType.DATA_URL
// destinationType: this.camera.DestinationType.FILE_URI
};
this.camera.getPicture(options).then(imageData => {
let base64File = "data:image/jpeg;base64," + imageData;
if (this.Image_0 === null) {
this.Image_0 = base64File;
} else if (this.Image_1 === null) {
this.Image_1 = base64File;
} else if (this.Image_2 === null) {
this.Image_2 = base64File;
} else if (this.Image_3 === null) {
this.Image_3 = base64File;
}
let base64Image = base64File;
if (this.thumb1 == "") {
this.thumb1 = base64Image;
this.thumb1 = this.sanitizer.bypassSecurityTrustResourceUrl(
this.thumb1
);
} else if (this.thumb2 == "") {
this.thumb2 = base64Image;
this.thumb2 = this.sanitizer.bypassSecurityTrustResourceUrl(
this.thumb2
);
} else if (this.thumb3 == "") {
this.thumb3 = base64Image;
this.thumb3 = this.sanitizer.bypassSecurityTrustResourceUrl(
this.thumb3
);
} else if (this.thumb4 == "") {
this.thumb4 = base64Image;
this.thumb4 = this.sanitizer.bypassSecurityTrustResourceUrl(
this.thumb4
);
}
}).catch(e => {
console.log("Error while picking from gallery", e);
});
}
postForm(){
let loading = this.loadingCtrl.create({
spinner: "bubbles"
});
loading.present();
let myData: any = {
Type: 1,
CustomerId: this.CustomerId,
Rating: Rating,
Review: this.review.value.comment
};
if (this.Image_0 != null) {
myData.Image_0 = this.Image_0;
}
if (this.Image_1 != null) {
myData.Image_1 = this.Image_1;
}
if (this.Image_2 != null) {
myData.Image_1 = this.Image_2;
}
if (this.Image_3 != null) {
myData.Image_3 = this.Image_3;
}
this.http
.post(
global.apiUrl + "restaurants/" + this._id + "/reviews",
myData,
headers
)
.then(data => {
})
.catch(error => {
loading.dismiss();
alert(JSON.stringify(error, Object.getOwnPropertyNames(error)));
});
}
Я пытаюсь найти решение с последних нескольких дней, но не смог найти решение, поэтому размещаю здесь.