PClstorage и двоичные данные
-
21-12-2019 - |
Вопрос
Я просто новый в этих библиотеках PCL, я разрабатываю приложение для iPhone с Xamarin, и я не могу найти способ сохранить его на телефоне.Самое близкое, которое я получаю с PCLStorage, но он только спасет текст. Есть другой способ, которым я могу сохранить двоичные файлы с другой процедурой. Спасибо.
foreach (images element in json_object)
{
//var nameFile = Path.Combine (directoryname, element.name);
try{
IFile file = await folder_new.GetFileAsync(element.name);
}catch(FileNotFoundException ex ){
RestClient _Client = new RestClient(element.root);
RestRequest request_file = new RestRequest("/images/{FileName}");
request_file.AddParameter("FileName", element.name, ParameterType.UrlSegment);
_Client.ExecuteAsync<MemoryStream>(
request_file,
async Response =>
{
if (Response != null)
{
IFolder rootFolder_new = FileSystem.Current.LocalStorage;
IFile file_new = await rootFolder_new.CreateFileAsync(element.name,CreationCollisionOption.ReplaceExisting);
await file_new.WriteAllTextAsync(Response.Data);
}
});
}
}
. Решение
Используйте метод ifile.Openasync, чтобы получить поток, который вы можете использовать для чтения / записи двоичных данных.Вот как вы бы читали файл:
IFile file = await folder_new.GetFileAsync(element.name);
using (Stream stream = await file.OpenAsync(FileAccess.Read))
{
// Read stream and process binary data from it...
}
. Не связан с StackOverflow