我們使用Xamarin.Mobile組件來獲取和存儲本地應用程序目錄中的照片。現在,當我存儲單張照片時,其工作正常,但如果我存儲多張照片並嘗試訪問這些照片,則只有最後一張圖像存在,所有其他圖像都將被刪除。我不會在代碼中的任何地方調用delete函數。Xamarin.Mobile組件多個文件保存被刪除而無需爲iOS調用刪除功能
我們正在爲iOS版製作應用程序,Android和我們有一些核心類是在這兩個項目鏈接
當它進入如圖所示的功能是最後調用堆棧,只有最後的圖像存在,所有的其他影像正在被刪除。 前三個函數來自我們的核心類,它們都在iOS和Android中鏈接。
我已啓用iTunes文件共享,圖像正在存儲在文檔文件夾內,我給每個圖像一個不同的名稱。
這裏是拍照的代碼: Random rand1 = new Random((int)DateTime.Now.Ticks & 0x0000FFFF);
picker = new MediaPicker();
if(!picker.IsCameraAvailable)
return;
MediaPickerController controller = picker.GetTakePhotoUI (new StoreCameraMediaOptions {
Name = "Ticket"+rand1.Next(1, 1000000)+".jpg",
Directory = ""
});
this.PresentViewController(controller, true, null);
controller.GetResultAsync().ContinueWith (t => {
// We need to dismiss the controller ourselves
this.PresentedViewController.DismissViewController (true,() => {
// User canceled or something went wrong
if (t.IsCanceled || t.IsFaulted)
return;
// We get back a MediaFile
MediaFile media = t.Result;
ticket.imagePaths.Add(media.Path);
});
}, uiScheduler);
這裏是我的應用程序輸出: 2014年1月15日15:17:40.445 CCR_Ticket_System_iOS [2063:60B]文件存在於TicketRepo:/私營/無功/移動/應用/ ABE44A50-7119-4BF9- 8DF9-DC50C80E7591/Documents/Ticket235666.jpg 2014-01-15 15:17:42.384 CCR_Ticket_System_iOS [2063:60b] TicketRepo中存在文件:/ private/var/mobile/Applications/ABE44A50-7119-4BF9-8DF9-DC50C80E7591/Documents/Ticket952511.jpg 2014-01-15 15:17:49.320 CCR_Ticket_System_iOS [2063:60b]文件不存在於DatabaseADO的SaveTicket中:/ private/var/mobile/Applications/ABE44A50-7119-4BF9-8DF9-DC50C80E7591 /Documents/Ticket235666.jpg 2014-01-15 15:17:49.323 CCR_Ticket_System_iOS [2063:60b]文件在DatabaseADO的SaveTicket中存在:/private/var/mobile/Applications/ABE44A50-7119-4BF9-8DF9-DC50C80E7591/Documents/Ticket952511.jpg
請讓我知道我做錯了什麼。如果您需要更多信息,請告訴我。我在最近2天內遇到了這個問題。
請發佈保存圖片的代碼 – Jason
@Jason,更新了該帖子的拍攝和存儲路徑的照片 – user3013635