如何在离子2/3上传图像服务器端

时间:2018-02-10 05:28:24

标签: ios node.js ionic-framework server ionic2

我正在使用Ionic 2构建应用程序。我需要从图库或相机拍摄照片并将此照片上传到我的服务器。 我有这个代码打开图库并拍照。

accessGallery() {
    this.camera.getPicture({
      sourceType: this.camera.PictureSourceType.SAVEDPHOTOALBUM,
      destinationType: this.camera.DestinationType.DATA_URL
    }).then((imageData) => {
      this.base64Image = 'data:image/jpeg;base64,' + imageData;
      this.uploadFile();
    }, (err) => {
      console.log(err); 
    });
  }

将图片上传到服务器端

uploadFile() {

      let body = new FormData();
      body.append('images', this.base64Image);
      let headers = new Headers({
        'token': this.token,
        'sid': this.sid,
        'user': this.user,
        'to': this.to,
        'node': this.node,
        'type':'image' 

      });
      let options = new RequestOptions({ headers: headers });
      console.log("header ----" +JSON.stringify(headers));
      console.log("images data body----" +JSON.stringify(body));

      this.http.post(this.apiurl,body,options)
          .map(res => res.json())
          .subscribe(
              data => {
                console.log(data);
              },
              err => {
                console.log("ERROR!: ", err);
              }
          );
    }

错误: - 字段值太长

1 个答案:

答案 0 :(得分:0)

正如错误描述清楚地表明的那样,您似乎正在尝试将值传递给您的某个mysql表的字段,该字段小于您尝试传递的值。

尝试输出您的options数组,并将其每个值与相应的数据库字段进行交叉检查,如果发现任何差异,请相应地修改相应的字段长度。

希望这有帮助!