Dropbox.Api无法上传大文件

Viv*_*Dev 0 c# task-parallel-library dropbox-api

我使用以下代码将文件上传到dropbox.

我正在使用nuget包Dropbox.Api并获取异常System.Threading.Tasks.TaskCanceledException("任务被取消.")

从这个SO问题看来,它似乎是一个超时问题.

那么如何修改以下代码来设置超时.

    public async Task<FileMetadata> UploadFileToDropBox(string fileToUpload, string folder)
    {
        DropboxClient client = new DropboxClient(GetAccessToken());

        using (var mem = new MemoryStream(File.ReadAllBytes(fileToUpload)))
        {
            string filename = Path.GetFileName(fileToUpload);

            try
            {
                string megapath = GetFullFolderPath(folder);
                string megapathWithFile = Path.Combine(megapath, Path.GetFileName(Path.GetFileName(filename))).Replace("\\", "/");
                var updated = client.Files.UploadAsync(megapathWithFile, WriteMode.Overwrite.Instance, body: mem);
                await updated;
                return updated.Result;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

Pet*_*r B 6

尝试创建和初始化客户端,如下所示:

var config = new DropboxClientConfig();
config.HttpClient.Timeout = new TimeSpan(hr, min, sec); // choose values
var client = DropboxClient(GetAccessToken(), config);
Run Code Online (Sandbox Code Playgroud)

参考:http :
//dropbox.github.io/dropbox-sdk-dotnet/html/M_Dropbox_Api_DropboxClient__ctor_1.htm

  • 彼得,嗨,谢谢.它的工作.我不得不添加以下行作为第二行config.HttpClient = new System.Net.Http.HttpClient(); 因为HttpClient obj为null. (3认同)