ionic 项目中使用ngCordova插件$cordovaCamera筛选手机图库图片显示出来并上传

原文档请看:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/ionic%E5%9B%BE%E7%89%87%E4%B8%8A%E4%BC%A0/

1.首先下载这个插件:

可以在package.json文件中添加“cordova-plugin-device"来添加,也可以直接在ngCordova官网里找到相应的命令来下载

如图:


2.在ionic项目中要使用这个插件的页面相应的控制器里添加相应的插件名来引用,记得在依赖项里要加ngCordova,不然会出错。

如图:


3.在控制器里写入相应的js代码(这些代码在ngCordova官网插件的应用上有详细的方法调用,根据具体的需要来写自己所需要的功能的代码)我这个代码是来实现页面上要显示7张从手机相册中选择的图片,

js代码如下:

$scope.takePicture = function (img) {
    var options = {
        quality: 75,
        destinationType: Camera.DestinationType.DATA_URL,
        sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
        allowEdit: true,
        encodingType: Camera.EncodingType.JPEG,
        targetWidth: 500,
        targetHeight: 500,
        popoverOptions: CameraPopoverOptions,
        saveToPhotoAlbum: false
    };

    $cordovaCamera.getPicture(options).then(function (imageData) {
            // alert(imageData);

            if (img == 1) {
                $scope.data.IDCardImage1 = imageData;
                $scope.imgURI1 = "data:image/jpeg;base64," + imageData;
            }
            if (img == 2) {
                $scope.data.IDCardImage2 = imageData;
                $scope.imgURI2 = "data:image/jpeg;base64," + imageData;
            }
            if (img == 3) {
                $scope.data.Qualified = imageData;
                $scope.imgURI3 = "data:image/jpeg;base64," + imageData;
            }
            if (img == 4) {
                $scope.data.CredentialImage = imageData;
                $scope.imgURI4 = "data:image/jpeg;base64," + imageData;
            }
            if (img == 5) {
                $scope.data.CarInfoImage1 = imageData;
                $scope.imgURI5 = "data:image/jpeg;base64," + imageData;
            }
            if (img == 6) {
                $scope.data.CarInfoImage2 = imageData;
                $scope.imgURI6 = "data:image/jpeg;base64," + imageData;
            }
            if (img == 7) {
                $scope.data.CarInfoImage3 = imageData;
                $scope.imgURI7 = "data:image/jpeg;base64," + imageData;
            } else {
                return "";
            }
        }
    );
};
$scope.take = function () {
    this.takePicture();
}


4.html页面的代码如下(其中ng-src中要把图片转化为base64格式,上传到服务器)我这里只贴出了显示两张图片的代码,其他的类似:

<div class="row">
    <div class="col padding" ng-click="takePicture(1)">
        <img ng-src="data:image/jpeg;base64,{{data.IDCardImage1}}"
             style="border: 1px dashed gray;width: 100px;height: 100px;background-color: #f0f0f0"/>
    </div>
    <div class="col padding" ng-click="takePicture(2)">
        <img ng-src="data:image/jpeg;base64,{{data.IDCardImage2}}"
             style="border: 1px dashed gray;width: 100px;height: 100px;background-color: #f0f0f0"/>
    </div>
    <div class="col padding"></div>
</div>


注:第一次在这里分享自己遇到的问题和解决方案,有不足的地方欢迎大家纠正、评论以及提问,有更多精彩技术分享会一直更新



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在 Ionic-Angular 应用程序打开手机图库并在页面显示像,可以使用 Cordova 插件 "cordova-plugin-filechooser" 和 "cordova-plugin-filepath"。 首先,在终端进入 Ionic-Angular 项目的根目录,运行以下命令来安装这两个插件: ``` ionic cordova plugin add cordova-plugin-filechooser npm install --save @ionic-native/file-chooser ionic cordova plugin add cordova-plugin-filepath npm install --save @ionic-native/file-path ``` 然后,在你的组件导入 `FileChooser` 和 `FilePath`: ```typescript import { FileChooser } from '@ionic-native/file-chooser/ngx'; import { FilePath } from '@ionic-native/file-path/ngx'; ``` 接下来,在组件的构造函数注入 `FileChooser` 和 `FilePath`: ```typescript constructor( private fileChooser: FileChooser, private filePath: FilePath ) {} ``` 在你的页面添加一个按钮,当用户点击该按钮时,调用 `openGallery` 方法来打开图库: ```html <ion-button (click)="openGallery()">打开图库</ion-button> ``` 在组件实现 `openGallery` 方法: ```typescript async openGallery() { try { const uri = await this.fileChooser.open(); const filePath = await this.filePath.resolveNativePath(uri); this.imageSrc = filePath; } catch (e) { console.error(e); } } ``` 在这个方法,我们使用 `FileChooser` 来打开图库并返回像的 URI。然后,我们使用 `FilePath` 来将 URI 转换为本地文件路径。最后,我们将像路径赋值给 `imageSrc` 变量,以便在页面显示。 在页面添加一个 `img` 元素来显示像: ```html <img [src]="imageSrc"> ``` 现在,当用户点击 "打开图库" 按钮时,将会打开图库并选择一个像。选像将会显示在页面上的 `img` 元素

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值