2014-01-10 2 views
1

저는이 PCL 라이브러리에서 새로 생겼습니다. 저는 Xamarin으로 iPhone 응용 프로그램을 개발하고 있으며,이를 휴대폰에 저장하는 방법을 찾을 수 없습니다. 내가 얻는 가장 가까운 것은 PCLStorage에 있지만 텍스트 만 저장합니다. 다른 절차로 이진 파일을 저장할 수있는 또 다른 방법이 있습니다. 감사합니다.PCL 저장소 및 이진 데이터

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); 
           } 
         }); 
      } 
     } 

답변

6

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... 

}