したがって、以下のコードで写真を撮ることができます。次に、写真を表示します。私の XAML はオブジェクトのPhoto
プロパティにバインドされていVehicle
ます。入ってもう一度写真を撮ろうとするまでは、うまくいきます。その後、UnauthorizedAccessException
. 「LocalStorage」にファイルを作成するので、そこにファイルを書き込むために特別な権限が必要だとは思いません。エラーの原因がわかりません。
public async Task TakePicture()
{
CameraCaptureUI camera = new CameraCaptureUI();
camera.PhotoSettings.CroppedAspectRatio = new Size(16, 9);
StorageFile photo = await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (photo != null)
{
var targetFolder = ApplicationData.Current.LocalFolder;
var targetFile = await targetFolder.CreateFileAsync(String.Format
("VehiclePhoto{0}.jpg", this.Vehicle.PrimaryKey), CreationCollisionOption.ReplaceExisting);
if (targetFile != null)
{
await photo.MoveAndReplaceAsync(targetFile);
this.Vehicle.Photo = String.Format("ms-appdata:///local/VehiclePhoto{0}.jpg", this.Vehicle.PrimaryKey);
}
}
}