예제 #1
0
        private static async Task <Guid> UploadFilesAsync(IOcrClient ocrClient)
        {
            ImageSubmittingParams submitParams;
            var firstFilePath  = "New Image.jpg";
            var secondFilePath = "Picture_003.jpg";

            // First file
            using (var fileStream = new FileStream(firstFilePath, FileMode.Open))
            {
                var submitImageResult = await ocrClient.SubmitImageAsync(
                    null,
                    fileStream,
                    Path.GetFileName(firstFilePath));

                // Save TaskId for next files and ProcessDocument method
                submitParams = new ImageSubmittingParams {
                    TaskId = submitImageResult.TaskId
                };
            }

            // Second file
            using (var fileStream = new FileStream(secondFilePath, FileMode.Open))
            {
                await ocrClient.SubmitImageAsync(
                    submitParams,
                    fileStream,
                    Path.GetFileName(secondFilePath));
            }

            return(submitParams.TaskId.Value);
        }
예제 #2
0
        protected Task <TaskInfo> SubmitImageAsync(
            string fileName,
            Stream fileStream,
            Guid?taskId = null)
        {
            var parameters = taskId.HasValue
                                ? new ImageSubmittingParams {
                TaskId = taskId.Value
            }
                                : null;

            return(ApiClient.SubmitImageAsync(parameters, fileStream, fileName));
        }
예제 #3
0
        private async Task <TaskInfo> SubmitImagesAsync(IReadOnlyList <string> files, object state)
        {
            var task = default(TaskInfo);

            for (var i = 0; i < files.Count; i++)
            {
                using (_scope.Start($"Uploading {i + 1}/{files.Count} file: {files[i]}"))
                    using (var fileStream = File.OpenRead(files[i]))
                    {
                        task = await _ocrClient.SubmitImageAsync(
                            new ImageSubmittingParams { TaskId = task?.TaskId },
                            fileStream,
                            Path.GetFileNameWithoutExtension(files[i]))
                               .ConfigureAwait(false);
                    }
            }

            UploadFileCompleted?.Invoke(this, new UploadCompletedEventArgs(task, state));

            return(task);
        }