'daki bir mutlak NSURL dosyasından nasıl dosya yüklersiniz IOS için Xamarin kullanarak bir uygulama geliştiriyorum, opengl oyun şablonunu başlangıç olarak kullandım.xamarin
Belirli bir dosya biçimini açabilmek için benim app kurdunuz ve eğer bunu yaparsam
sorundur AppDelegate.cs içinde OpenURL temsilci overriden adres:
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
Stream bob = new FileStream(url.AbsoluteString, FileMode.Open, FileAccess.Read);
return true;
}
/// ... kısmını ancak FileStream her zaman daha ayıklanmış yolu istiyor (zekâ: Ben Bu url.AbsoluteString dosyasını döndürdüğü için gibi görünüyor
"Unable to open file : /private/var/mobile/Applications/A7B5E435-F7D1-4985-BA97-C243E63EFC39/MyApp.app/file:///private/var/mobile/Applications/A7B5E435-F7D1-4985-BA97-C243E63EFC39/Documents/Inbox/A%20File%20To%20Open.ext"
çizgisinde bir istisna şey olsun örneğin boşluklar) ile değiştirildi h% 20s uygulamanın paket dir olmalıdır için göreceli "dosyasını kaldırma Ben url.AbsoluteString almayı çok hack şekilde çalışmak lazım Sonunda
/private/var/mobile/Applications/A7B5E435-F7D1-4985-BA97-C243E63EFC39/MyApp.app/
, : /// "parçası, başlangıçta bir demet ../../../ vs. ekleyerek"% 20 "yi" "ile değiştirerek.
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{
string fname = "../../../../../../../../../" + (url.AbsoluteString).Replace("%20", " ").Replace("file:///","");
Stream bob = new FileStream(fname, FileMode.Open, FileAccess.Read);
return true;
}
Ve bu işe yaradı ... ama korkunç bir şekilde kesmek gibi görünüyor. Yani Xamarin kullanarak bir dosyaya işaret eden bir NSURL'den okunabilir bir dosya akışı elde etmenin doğru yolu nedir?
Sen dosya yolunu alabilirsiniz
'NSUrl' kaynağı nedir? Bu bir dosya seçiciden geliyor mu? Yakın geçmişte çok benzer davranışlar uyguladım. – matthewrdev