我有一个应用程序,我正在尝试从iOS设备共享PDF文件。因此,我在单击按钮时打开UIDocumentPickerViewController。
从我的设备中选择任何PDF文件时,我会尝试将其保存到文档目录,然后将其发送到服务器。
我成功地获得了URL,当我试图将其保存到文档文件夹时,它会给我一个错误:;访问被拒绝";。
我找了很多,但找不到解决办法。
下面是我的代码。
private void UI_DidPickDocumentAtUrls(object sender, UIDocumentPickedAtUrlsEventArgs e)
{
storePDFData(e.Urls[0]);
}
private void storePDFData(NSUrl dataUrl)
{
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var directory = Path.Combine(documents, "Pdfs");
if (!File.Exists(directory))
{
Directory.CreateDirectory(directory);
}
Console.WriteLine(dataUrl.LastPathComponent);
var filename = Path.Combine(directory, dataUrl.LastPathComponent);
dataUrl.StartAccessingSecurityScopedResource();
FileStream fs = new FileStream(dataUrl.Path, FileMode.Open, FileAccess.ReadWrite);
StreamReader reader = new StreamReader(fs);
string content = reader.ReadToEnd();
//byte[] content = File.ReadAllBytes(dataUrl.Path);
if (content != null)
{
File.WriteAllText("file:///" + filename, content);
}
dataUrl.StopAccessingSecurityScopedResource();
}
如有任何帮助,我们将不胜感激。
提前谢谢。
iOS中的文件路径file:///
无效,您可以尝试在这种情况下直接使用filename
。
File.WriteAllText(filename , content);