从资产中获取实际图像名称

时间:2013-09-17 05:23:39

标签: ios objective-c cordova

我正在IOS中使用getPhoto('Camera.PictureSourceType.PHOTOLIBRARY');开发一个phoneGap应用程序 访问照片库并选择图像。以下是onPhotoURISuccess方法,我需要获取图像的url并将其传递给我的原生插件,以验证它的文件大小,分辨率和文件扩展名。

这是我的getPhoto()方法

// A button will call this function
    function getPhoto(source)
    {            
        // Retrieve image file location from specified source
        navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 100,
                                    destinationType: navigator.camera.DestinationType.NATIVE_URI, sourceType: source });
    }

这是onPhotoURISuccess方法,

// Called when a photo is successfully retrieved
    function onPhotoURISuccess(imageURI)
    {
        img_uri = imageURI;
        console.log('NATIVE_URI==>'+img_uri);

        // Get image handle
        var imgPrev = document.getElementById('imgPreview');

        // Unhide image elements
        imgPrev.style.display = 'block';

        // Show the captured photo
        // The inline CSS rules are used to resize the image
        imgPrev.src = imageURI;

    }

根据phoneGap文档,我有三种选择。使用DATA_URL,FILE_URI或NATIVE_URI。 FILE_URI似乎隐藏了图像的底层数据,它总是返回一个jpeg图像,因此隐藏了实际的扩展

资产库://asset/asset.JPG ID = 5CF16D20-9A80-483A-AC1C-9692123610B1&安培; EXT = JPG 我想知道如何从中获取实际图像名称以及扩展名。

我需要获取图像名称并验证扩展名。

有人请帮助我采取可行的方法让我遵循

提前致谢

1 个答案:

答案 0 :(得分:0)

如果你能获得资产的网址,那就是

assets-library://asset/asset.JPG?id=5CF16D20-9A80-483A-AC1C-9692123610B1&ext=JPG

您可以通过此资产获取文件的真实姓名:

NSString* originalFileName = [[yourALAsset defaultRepresentation] filename];