當前我正在從圖庫中保存圖片的相機圖片及其在sq lite表格中的路徑。xamarin.forms獲取圖庫中圖片的字節數組xamarin.forms
我需要在API調用期間保存的這個圖像的字節數組。
所以我可以通過它的名字得到圖像的字節數組?
請幫我。
當前我正在從圖庫中保存圖片的相機圖片及其在sq lite表格中的路徑。xamarin.forms獲取圖庫中圖片的字節數組xamarin.forms
我需要在API調用期間保存的這個圖像的字節數組。
所以我可以通過它的名字得到圖像的字節數組?
請幫我。
如果文件路徑,你就應該能夠通過File.ReadAllBytes(imagePath);
得到它。
然而,這是不是在Xamarin.Forms內通用事項可用。您將需要使用DependencyService。
它看起來是這樣的:
定義您共享代碼的接口
public interface ILocalFileProvider
{
byte[] GetFileBytes(string filePath);
}
然後實現它的平臺的項目,這樣
public class LocalFileProvider_iOS : ILoclFileProvider
{
public byte[] GetFileBytes(string filePath)
{
return File.ReadAllBytes(filePath);
}
}
它看起來非常在Android中是一樣的,但是當然你應該處理錯誤,異常等。另外不要忘記在命名空間上添加[assembly: Dependency(typeof(LocalFileProvider_iOS))]
。
您現在可以使用它在你的共享代碼:var bytes = DependencyService.Get<ILocalFileProvider>().GetFileBytes(file.Path);
而且,在這裏需要一些細化和微調。
你現在正在做的是從你的共享代碼調用通用接口。運行時確定接口獲得哪種實現,以及平臺特定代碼如何實現爲接口。
很棒....感謝您的詳細解釋,爲此+1。 –
我不認爲它可以直接與相關性服務Xamarin.Forms可以做,你可以轉換的文件 VAR的ByteArray = File.ReadAllBytes(ImagePath的); – Dilmah