不在IOS中从ImagePath获取图像

时间:2017-01-10 10:38:52

标签: c# ios xamarin.ios uiimage

Getting imagepath here

error here我从图片路径下方获取图片:

Users/Srihari/Library/Developer/CoreSimulator/Devices/D29D4F6F-E146-419D-B4B8-B1914F56569F/data/Containers/Data/Application/637675BB-EFA1-A8RT-8B73-A3628/DocumentsCoverImage.png

当尝试使用下面的代码在IOS中显示图像时,它显示空值

 var eventImageEntitys = await _historyService.GetHistoricalEventImagesByTimelineId(ApplicationContext.TimeLineId);

 foreach (var eventImageEntity in eventImageEntitys)
    {
        UIImage image = new UIImage(eventImageEntity.ImagePath);
    }

我将“image”视为空值

2 个答案:

答案 0 :(得分:0)

iOS沙箱所有应用程序,因此您无法像现在这样访问文件系统。如果您的图片已捆绑,则可以使用UIImage.FromBundle()

进行访问

使用资产目录中设置的图片名称,使用以下代码:

UIImage image = new UIImage.FromBundle("MyImageName");

答案 1 :(得分:0)

尝试使用图像类别ID保存图像名称

    public string GetRelativePath(string categoryId, string imageName)
    {
        return "/Images/" + categoryId + "/" + imageName;
    }

这是根据您的图像类别ID Xamarin.Ios获取子文件夹路径的方法,最后通过传递图像的relativePath获取该图像的完整路径

    public string GetFullPath(string relativePath)
    {
        return GetPersonalFolder() + relativePath;
    }

将您的UIImage初始化为

    UIImage image = UIImage.FromFile(GetFullPath(imageRelativePath ));