我们正在使用 Xamarin.Mobile 组件在本地应用程序目录中拍摄和存储照片。现在,当我存储单张照片时它工作正常,但如果我存储多张照片并尝试访问这些照片,只有最后一张图像存在,所有其他图像都将被删除。我不在我的代码中的任何地方调用删除函数。
我们正在为 iOS 和 android 制作应用程序,并且我们有一些在两个项目中链接的核心类
当它进入函数时如图所示是最后一个调用堆栈,只有最后一个图像存在,所有其他图像都被删除。前三个函数来自我们在 iOS 和 Android 中链接的核心类。
我启用了 iTunes 文件共享,图像存储在 Documents 文件夹中,并且我给每个图像一个不同的名称。
这是拍照的代码: 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-01-15 15:17:40.445 CCR_Ticket_System_iOS[2063:60b] TicketRepo 中存在文件:/private/var/mobile/Applications/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
请让我知道我做错了什么。如果您需要更多信息,请告诉我。在过去的两天里,我一直在这个问题上。