如果我尝试DidPickDocument
将UIDocumentPickerViewController
所选文件导入/写入应用程序的本地 Documents 目录。这适用于“小”文件(例如 < 100MB),使用带有覆盖的子类 UIDocument 类
public override bool LoadFromContents(NSObject contents, string typeName, out NSError outError)
{
outError = null;
if (contents != null)
{
Content = ((NSData)contents).ToArray();
}
...
...并通过调用
MySubclassedDoc mySubclassedDoc = new MySubclassedDoc (nsurl);
bool success = await mySubclassedDoc.OpenAsync();
File.WriteAllBytes("targetFile.xyz", mySubclassedDoc.Content);
但是,如果文件较大(例如 400MB),应用程序在LoadFromContents
调用之前由于内存 (RAM) 不足而崩溃。
所以需要有一种方法可以将所选文件直接流式传输到文件中。如何使用给定的 NSUrl 做到这一点?