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

Posted

技术标签:

【中文标题】从资产中获取实际图像名称【英文标题】:Getting the actual image name from the assets 【发布时间】:2013-09-17 05:23:38 【问题描述】:

我正在使用getPhoto('Camera.PictureSourceType.PHOTOLIBRARY');ios开发一个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 图像,因此隐藏了实际的扩展名

assets-library://asset/asset.JPG?id=5CF16D20-9A80-483A-AC1C-9692123610B1&ext=JPG 我想知道如何从中获取实际的图像名称以及扩展名。

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

请有人帮我提供可能的方法让我遵循

提前致谢

【问题讨论】:

***.com/questions/7180880/… 【参考方案1】:

如果你能得到一个资产的 url,那就是

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

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

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

【讨论】:

以上是关于从资产中获取实际图像名称的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试从本地标识符中获取资产并在 collectionview 中显示图像,但它会导致滚动抖动

如何从资产中获取不同的图像并将其分配给不同表格视图单元格中的图像视图

Android Google Maps v2 从资产中的图像加载 OverlayTile

Flutter Web - 将资产图像作为 File()

关于 Android 图像和资产大小

Azure PHP SDK:按资产名称获取资产