How to avoid StorageFile.CopyAsync() throw exception when copying big file?
windows-phone-8.1
Solution
I would try to copy it via buffer - for example like this:
private async Task CopyBigFile(StorageFile fileSource, StorageFile fileDest, CancellationToken ct)
{
using (Stream streamSource = await fileSource.OpenStreamForReadAsync())
using (Stream streamDest = await fileDest.OpenStreamForWriteAsync())
await streamSource.CopyToAsync(streamDest, 1024, ct);
return;
}
Problem
I'm going to copy some files from Video Library to my app storage through `StorageFile.CopyAsync()` method, but if a file's size is more than 1GB, it would throw an exception as follow: Type: System.Runtime.InteropServices.COMException Message: Error HRESULT E_FAIL has been returned from a call to a COM component. Stacktrace: at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() How can I import a big file, Is there have a solution to solve this problem?