ionic拍照上传

打开控制台安装camera和file、file-transfer插件

ionic cordova plugin add cordova-plugin-camera
npm install --save @ionic-native/camera

ionic cordova plugin add cordova-plugin-file
npm install --save @ionic-native/file

ionic cordova plugin add cordova-plugin-file-transfer
npm install --save @ionic-native/file-transfer

app.module.ts引入

import { Camera } from '@ionic-native/camera';
import { File } from '@ionic-native/file';
import { FileTransfer } from '@ionic-native/file-transfer';
providers: [ Camera, File,FileTransfer ]

real-name.ts引入

import {Camera, CameraOptions} from '@ionic-native/camera';
import {FileTransfer, FileUploadOptions, FileTransferObject} from '@ionic-native/file-transfer';
import {File} from '@ionic-native/file';

path : any;
idGHImg : any;
constructor( private camera: Camera, private transfer: FileTransfer, private file: File) {  }

打开手机照相机

openCamera() {
    const options: CameraOptions = {
      quality: 50,                                                   //相片质量 0 -100
      destinationType: this.camera.DestinationType.DATA_URL,        //DATA_URL 是 base64   FILE_URL 是文件路径
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE,
      saveToPhotoAlbum: true,                                       //是否保存到相册
      sourceType: this.camera.PictureSourceType.CAMERA,         //是打开相机拍照还是打开相册选择  PHOTOLIBRARY : 相册选择, CAMERA : 拍照,
      targetWidth: 1080,       //照片大小
      targetHeight: 1080
    }

    this.camera.getPicture(options).then((imageData) => {
      //console.log("got file: " + imageData);
      // If it's base64:
      let base64Image = 'data:image/jpeg;base64,' + imageData;
      console.log('base64Image=' + base64Image);
      this.path = base64Image;
      this.upload();
    }, (err) => {
      // Handle error
    }); 
  }

上传照片

upload() {
    const apiPath = Utils.getApiAddress() + "/userAuth/ocr";
    const fileTransfer: FileTransferObject = this.transfer.create();
    let params= {
      "file": this.path,
    }
    this.appService.loading('努力上传中..');
      this.http.post(apiPath, params, Utils.getPostRequestOptions() )
        .subscribe((res: Response) => { 
        let data = JSON.parse(res['_body']);
        if(data.code==0&&data.data!=null){
            this.idGHImg = data.data.filePath;    //获取图片
        }
        this.appService.toast('图片上传成功');
        }
        else{
          this.appService.toast(data.msg);
          return;
        } 
      }, (err) => {
        this.appService.toast(err);
      });
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值