Image gallery中的图像在IOS中为Appcelerator提供空对象

Image gallery中的图像在IOS中为Appcelerator提供空对象,image,appcelerator,appcelerator-titanium,photo-gallery,Image,Appcelerator,Appcelerator Titanium,Photo Gallery,我想从gallery中获取所选图像的文件名和本机路径。下面的代码非常适合Android,但在IOS中为空 Titanium.Media.openPhotoGallery({ success : function(event) { selectedImage = event.media; //Ti.API.info("image : " + JSON.stringify(selectedImage)); --> Returns {} if (event.mediaT

我想从gallery中获取所选图像的文件名和本机路径。下面的代码非常适合Android,但在IOS中为空

Titanium.Media.openPhotoGallery({
success : function(event) {
    selectedImage = event.media;
    //Ti.API.info("image : " + JSON.stringify(selectedImage));  --> Returns {}
    if (event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
        //Ti.API.info("selectedImage : " + JSON.stringify(selectedImage));    --> Returns {}
        //Ti.API.info("selectedImage : " + JSON.stringify(selectedImage.nativePath));  --> Returns null
        //Ti.API.info("selectedImage.file.name : " + JSON.stringify(selectedImage.file.name));  --> Throws error
    }
}
}); 
是否有其他方法获取文件名、ImageType和nativePath


提前感谢。

正如您所看到的,您无法通过JSON序列化blob来查看其所有属性。尽管有文档,但似乎无法在ios上获得本机路径

Titanium.Media.openPhotoGallery({
    success : function(e) {
        Ti.API.info ("Got image:");
        Ti.API.info ("  width:      " + e.media.width);
        Ti.API.info ("  height:     " + e.media.height);
        Ti.API.info ("  pixels:     " + e.media.size);
        Ti.API.info ("  bytes:      " + e.media.length);
        Ti.API.info ("  mimeType:   " + e.media.mimeType);
        Ti.API.info ("  nativePath: " + e.media.nativePath);
    }
}); 
给我

[INFO] Got image:
[INFO]   width:      3000
[INFO]   height:     2002
[INFO]   pixels:     6006000
[INFO]   bytes:      4752033
[INFO]   mimeType:   image/jpeg
[INFO]   nativePath: null
有一个文件属性与图像blob关联(它绝对不是null),但我无法访问该文件对象的任何属性。如您所见,nativePath返回为null


也就是说,您确定需要本机路径吗?我已经能够获取图像数据,对其进行下采样(使用ImageFactory模块),并通过HTTP将其发送到服务器,所有这些都不需要知道本机路径。

正如您所看到的,您无法通过JSON序列化blob来查看其所有属性。尽管有文档,但似乎无法在ios上获得本机路径

Titanium.Media.openPhotoGallery({
    success : function(e) {
        Ti.API.info ("Got image:");
        Ti.API.info ("  width:      " + e.media.width);
        Ti.API.info ("  height:     " + e.media.height);
        Ti.API.info ("  pixels:     " + e.media.size);
        Ti.API.info ("  bytes:      " + e.media.length);
        Ti.API.info ("  mimeType:   " + e.media.mimeType);
        Ti.API.info ("  nativePath: " + e.media.nativePath);
    }
}); 
给我

[INFO] Got image:
[INFO]   width:      3000
[INFO]   height:     2002
[INFO]   pixels:     6006000
[INFO]   bytes:      4752033
[INFO]   mimeType:   image/jpeg
[INFO]   nativePath: null
有一个文件属性与图像blob关联(它绝对不是null),但我无法访问该文件对象的任何属性。如您所见,nativePath返回为null


也就是说,您确定需要本机路径吗?我已经能够获取图像数据,对其进行下采样(使用ImageFactory模块),并通过HTTP将其发送到服务器,所有这些都不需要知道本机路径。

nativePath
(以及一些其他Blob属性)仅当Blob来自磁盘上的文件时才可用。对于照片库,Blob只存在于内存中,因为您无法访问照片库中的原始文件。实际上,我想显示所选图像的imageName,是否有方法获取名称?我想要的流程是,用户从Gallery中选择图像->图像上载到服务器->显示已上载到应用程序中的图像名称(文件名)。
nativePath
(以及一些其他Blob属性)仅在Blob来自磁盘上的文件时可用。对于照片库,Blob只存在于内存中,因为您无法访问照片库中的原始文件。实际上,我想显示所选图像的imageName,是否有方法获取名称?我想要的流程是,用户从Gallery中选择图像->图像上传到服务器->显示已上传到应用程序中的图像名称(文件名)。