0
다음 코드를 사용하여 Dropbox에 파일을 업로드합니다.Dropbox.Api 대용량 파일을 업로드하지 못했습니다.
나는 nuget 패키지 Dropbox.Api을 사용하고 예외 System.Threading.Tasks.TaskCanceledException 받고 있습니다 ("A 작업이 취소되었다.")
을이 SO Question에서이 시간 초과 문제가 될 것으로 보인다.
그래서 어떻게 타임 아웃을 설정하려면 다음 코드를 수정해야합니까?
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;
}
}
}
안녕 피터, 감사합니다. 그 일. 두 번째 줄에 다음 줄을 추가해야했습니다. config.HttpClient = new System.Net.Http.HttpClient(); HttpClient obj가 null이기 (위해) 때문에 – VivekDev
Dropbox API의 모든 부분이 새 HttpClient를 생성하기위한 팩토리 메소드를 노출합니까? @VivekDev와 동일한 문제가 있었지만, Dropbox API가 객체 자체를 생성하기 위해 내부적으로 호출 할 수있는 다른 구성 단계가 없기 때문에 새로운 HttpClient()를 호출하는 것이 확실하지 않습니다. – Jono
@Jono no factory 메서드, webClient를 구성에 제공하지 않으면 기본값이 사용됩니다. https://github.com/dropbox/dropbox-sdk-dotnet/blob/28233d643ddc65660c565d2c23bed46cdd6af84a/Dropbox.Api/DropboxRequestHandler.cs#L57 –