使用FFImageLoading加载手机SD卡图片遇CS1503错误求助
解决FFImageLoading加载本地图片的CS1503错误
嘿,我来帮你搞定这个问题~你遇到的CS1503错误,核心原因是FFImageLoading和Picasso的API设计不一样:
- Picasso的加载方法支持直接传入
Java.IO.File对象 - 但FFImageLoading的
LoadFile()方法只接受字符串类型的文件路径,你传了Java.IO.File实例,自然会报类型不匹配的错误
给你两种修正方案,选哪种都可以:
方案1:直接拼接路径字符串
直接用System.IO.Path.Combine拼出完整的图片路径,然后传给LoadFile:
var catalogCategories = System.IO.Path.Combine( Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures).ToString(), "dbsoft" ); // 拼接出图片的完整路径 var imageFullPath = System.IO.Path.Combine(catalogCategories, "Main.jpg"); // 传入路径字符串即可 ImageService.Instance.LoadFile(imageFullPath).Into(MainImage);
方案2:从File对象获取路径字符串
如果已经创建了Java.IO.File对象,只需要调用它的AbsolutePath属性拿到路径字符串就行:
var catalogCategoriesDir = new Java.IO.File( Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures), "dbsoft" ); var imageFile = new Java.IO.File(catalogCategoriesDir, "Main.jpg"); // 用AbsolutePath获取完整路径字符串 ImageService.Instance.LoadFile(imageFile.AbsolutePath).Into(MainImage);
这样调整后,类型匹配了,就能正常加载图片啦~
内容的提问来源于stack exchange,提问作者testsc
相关产品推荐
相关产品推荐

