cordova-plugin-vha-mediapicker

0.237.1 • Public • Published

MediaPicker v:2.3.0 (Support Chinese and English)

基于cordova-plugin-mediapicker-dmcbig 2.3.7

哪些不同:

  • 删除>30M的demo
  • 修复path不能为string的小bug

注意!该插件尽量使用官方最新版

android ios mediaPicker support selection of multiple image and video gif

GitHub: https://github.com/DmcSDK/cordova-plugin-mediaPicker

How do I use?

use npm OR github:

  cordova plugin add cordova-plugin-vha-mediapicker --variable IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message"

  cordova plugin add https://github.com/DmcSDK/cordova-plugin-mediaPicker.git --variable IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message"

IOS: please use XCode 9

Example

html code:

<body>
    <div>
        <img name="imgView"  width="100px"  height="100px" >
        <img name="imgView"  width="100px"  height="100px" >
    </div>
    <button id="openBtn">open</button>
    <button id="uploadBtn">upload</button>

    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
</body>

simple

index.js simple code:

var resultMedias=[];
var imgs = document.getElementsByName('imgView');
var args = {
    'selectMode': 101, //101=picker image and video , 100=image , 102=video
    'maxSelectCount': 40, //default 40 (Optional)
    'maxSelectSize': 188743680, //188743680=180M (Optional)
};

document.getElementById('openBtn').onclick = function() {
    MediaPicker.getMedias(args, function(medias) {
        //medias [{mediaType: "image", path:'/storage/emulated/0/DCIM/Camera/20170808_145202.jpg', size: 21993}]
        resultMedias = medias;
        getThumbnail(medias);
    }, function(e) { console.log(e) })
};

function getThumbnail(medias) {
    for (var i = 0; i < medias.length; i++) {
        //medias[i].thumbnailQuality=50; (Optional)
        //loadingUI(); //show loading ui
        MediaPicker.extractThumbnail(medias[i], function(data) {
            imgs[data.index].src = 'data:image/jpeg;base64,' + data.thumbnailBase64;
            imgs[data.index].setAttribute('style', 'transform:rotate(' + data.exifRotate + 'deg)');
        }, function(e) { console.log(e) });
    }
}

function loadingUI() {}

upload compress

index.js upload and compress code:

document.getElementById('uploadBtn').onclick = function() {
    //please:  cordova plugin add cordova-plugin-file-transfer
    //see:  https://github.com/apache/cordova-plugin-file-transfer
    //use medias[index].path

    //OR
    //compressImage(); //upload compress img
};

function compressImage() {
    for (var i = 0; i < resultMedias.length; i++) {
        // if(resultMedias[i].size>1048576){ resultMedias[i].quality=50; } else {d ataArray[i].quality=100;}
        resultMedias[i].quality = 30; //when the value is 100,return original image
        MediaPicker.compressImage(resultMedias[i], function(compressData) {
            //user compressData.path upload compress img
            console.log(compressData.path);
        }, function(e) { console.log(e) });
    }
}

//ios Video transcoding compression to MP4 Event(use AVAssetExportPresetMediumQuality)
document.addEventListener("MediaPicker.CompressVideoEvent", function(data) {
    alert(data.status + "||" + data.index);
}, false);

Screenshots

Android iOS

My Android Source GitHub: https://github.com/dmcBig/MediaPickerPoject

My IOS Source GitHub: https://github.com/dmcBig/IOSMediaPicker

Package Sidebar

Install

npm i cordova-plugin-vha-mediapicker

Weekly Downloads

2

Version

0.237.1

License

ISC

Unpacked Size

156 kB

Total Files

29

Last publish

Collaborators

  • neostudiogroup