ionic5 相机相关的插件

拍照上传

安装插件

相机插件
ionic cordova plugin add cordova-plugin-camera
npm install @ionic-native/camera

文件插件, 默认情况下先不引入,因为后面会报错
ionic cordova plugin add cordova-plugin-file
npm install @ionic-native/file

文件上传插件
ionic cordova plugin add cordova-plugin-file-transfer
npm install @ionic-native/file-transfer

app.module.ts

import { Camera } from '@ionic-native/camera/ngx';
import { File } from '@ionic-native/file/ngx';
import {FileTransfer} from '@ionic-native/file-transfer/ngx';

修改providers中添加:

Camera,
File,
FileTransfer,

使用地方

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




constructor(private camera: Camera,private transfer: FileTransfer) { }



 // 拍照
    imgUpload() {
      const options: CameraOptions = {
          quality: 100,   // 图片质量
          destinationType: this.camera.DestinationType.FILE_URI, // 返回类型 .FILE_URI 返回文件地址 .DATA_URL 返回base64编码
          encodingType: this.camera.EncodingType.JPEG, // 图片格式 JPEG=0 PNG=1
          mediaType: this.camera.MediaType.PICTURE, // 媒体类型
          sourceType: this.camera.PictureSourceType.CAMERA, // 图片来源  CAMERA相机 PHOTOLIBRARY 图库
          allowEdit: true, // 允许编辑
          targetWidth: 300, // 缩放图片的宽度
          targetHeight: 300, // 缩放图片的高度
          saveToPhotoAlbum: false, // 是否保存到相册
          correctOrientation: true, // 设置摄像机拍摄的图像是否为正确的方向
      };

      this.camera.getPicture(options).then((imageData) => {
          // 返回拍照的地址
          this.doUpload(imageData);
      }, (err) => {
          alert(err);
      });
  }


  // 文件上传
  doUpload(src: any) {
    const fileTransfer: FileTransferObject = this.transfer.create();

    const options: FileUploadOptions = {
        fileKey: 'file',
        fileName: 'name.jpg',
        mimeType: 'image/jpeg',
        httpMethod: 'POST',
        params: { username : '张三'},
        headers: {}
    };

    const api = 'http://127.0.0.1/imgupload';

    fileTransfer.upload(src, encodeURI(api), options)
    .then((data) => {
        alert(JSON.stringify(data));
    }, (err) => {
        alert(JSON.stringify(err));
    });
  }

https://ionicframework.com/docs/native/camera/

相册

安装插件

ionic cordova plugin add cordova-plugin-telerik-imagepicker

npm install @ionic-native/image-picker

app.module.ts

import { ImagePicker   } from '@ionic-native/image-picker/ngx';

修改providers中添加:

ImagePicker,

https://ionicframework.com/docs/native/image-picker/

汉化

platforms\android\app\src\main\res 目录下

增加values-zh 文件,新建  multiimagechooser_strings_hu.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="multi_app_name">图片选择器</string>
    <string name="free_version_label">还可以选择 %d 张图片</string>
    <string name="error_database">打开图像数据库时出错,请反馈问题.</string>
    <string name="requesting_thumbnails">请求缩略图,请耐心等待</string>
    <string name="multi_image_picker_processing_images_title">正在处理...</string>
    <string name="multi_image_picker_processing_images_message">请稍等...</string>
    <string name="discard" translatable="false">取消</string>
    <string name="done" translatable="false">确定</string>
</resources>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值