Beispiel #1
0
        private async Task <string> GetAsync(object param)
        {
            var builder = new UriBuilder(DefaultSettings.YandexDiskUrlUpload)
            {
                Query = param.ToString()
            };
            var url            = builder.ToString();
            var yandHttpClient = new YandexHttpClient(_yandUploader.Token);
            var response       = await yandHttpClient.GetAsync(url);

            var responseBody = await response.Content.ReadAsStringAsync();

            return(responseBody);
        }
Beispiel #2
0
        public async Task UploadAsync(string pathFile, string pathSave, UploadProgress progress, CancellationToken cancelToken = default)
        {
            Stream stream     = new FileStream(pathFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            var    uploadLink = await GetUploadLinkAsync(pathSave);

            var fileName      = Path.GetFileName(((FileStream)stream).Name);
            var streamContent = new YandexStreamContent(stream);

            streamContent.ProgressChanged += (bytes, currBytes, totalBytes) => progress.UpdateProgress(currBytes, totalBytes, fileName);
            var content = new MultipartFormDataContent {
                { streamContent, "file", fileName }
            };

            using var yandHttpClient = new YandexHttpClient(_yandUploader.Token);
            await yandHttpClient.PostAsync(uploadLink.Href, content, cancelToken);
        }
Beispiel #3
0
        private bool IsCorrectYandexDirectory(string path)
        {
            ResourseInfo directoryInfo = null;

            using (var yandHttpClient = new YandexHttpClient(_yandUploader.Token))
            {
                var task = yandHttpClient.GetAsync(DefaultSettings.YandexDiskUrlCheck + path).ContinueWith((requestTask) =>
                {
                    var response = requestTask.Result;
                    var json     = response.Content.ReadAsStringAsync();
                    json.Wait();
                    directoryInfo = JsonConvert.DeserializeObject <ResourseInfo>(json.Result);
                });
                task.Wait();
            }

            return(directoryInfo.Name != null);
        }
 public JobService(IConfiguration opt, DBLocalContext dB, YandexHttpClient client)
 {
     _settings = ConfigurationHelper.GetAppSettings(opt);
     _DB       = dB;
     _client   = client;
 }