コード例 #1
0
        static async Task Go(FileInfo item, int index)
        {
            var id = Guid.NewGuid().ToString("N");

            Console.WriteLine($"[{index.ToString("D5")}] process {item.FullName}");

            var uuid    = Guid.NewGuid().ToString("N");
            var request = new ProcessRequest {
                Uuid        = id,
                Path        = "/a/b/c",
                Name        = $"{id}-{item.Name}",
                CreateBy    = "example",
                Languages   = "English,Thai",
                ProfileKey  = "soc",
                ConvertOnly = true,
                OutputTypes = "Pdf",
            };
            var result = await OcrFile(request, item);

            if (!result.Item1)
            {
                Console.WriteLine(" > fail - {0} {1}", item.FullName, result.Item2);
            }
            else
            {
                Console.WriteLine(" > success - {0} {1}", item.FullName, result.Item2);
            }
        }
コード例 #2
0
        private static async Task <(bool, String)> OcrFile(ProcessRequest request, FileInfo file)
        {
            try {
                var bytes  = File.ReadAllBytes(file.FullName);
                var url    = $"http://10.211.55.4:5050/api/fineReaderApi/ocrFile";
                var client = new HttpClient();
                client.Timeout = TimeSpan.FromHours(3);

                using (var formDataContent = new MultipartFormDataContent()) {
                    var json = JsonConvert.SerializeObject(request);
                    formDataContent.Add(new ByteArrayContent(bytes), "file", request.Name);
                    formDataContent.Add(new StringContent(json), "json");
                    var responseMessage = await client.PostAsync(url, formDataContent);

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

                    var obj = JsonConvert.DeserializeObject <ProcessResult>(response);
                    if (obj.Success)
                    {
                        return(true, obj.Uuid);
                    }
                    else
                    {
                        return(false, obj.Message);
                    }
                }
            } catch (HttpRequestException ex) {
                return(false, ex.Message);
            }
        }