'Cannot get image content from tika api using .net
We are getting content of image from tika api(2.3.0) when we are calling from postman app. But the same call returns something else when we are calling from .net code.
.net code as follows
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("POST"), "http://192.168.1.118:9998/tika/form"))
{
request.Headers.TryAddWithoutValidation("Accept", "*/*");
var multipartContent = new MultipartFormDataContent();
multipartContent.Add(new ByteArrayContent(File.ReadAllBytes(filepath)), "upload", Path.GetFileName(filepath));
request.Content = multipartContent;
var response = await httpClient.SendAsync(request);
using (HttpContent content = response.Content)
{
var output= content.ReadAsStringAsync().Result;
...
}
}
}
.net code returns 200 response, the output value comes as following:
<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="X-TIKA:Parsed-By" content="org.apache.tika.parser.EmptyParser"/>
<meta name="Content-Type-Override" content="multipart/form-data;boundary="457d8034-6ca0-4635-af6c-24176dbdd850""/>
<meta name="Content-Type" content="multipart/form-data; boundary=457d8034-6ca0-4635-af6c-24176dbdd850"/>
<title>
</title>
</head>
<body/>
</html>
strangely it is parsed by org.apache.tika.parser.EmptyParser, whereas the call from Postman is returning something else from the same tika server.
response from Postman call
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Transparency Alpha" content="none" />
<meta name="tiff:ImageLength" content="397" />
<meta name="Compression CompressionTypeName" content="deflate" />
<meta name="Data BitsPerSample" content="8 8 8" />
<meta name="Data PlanarConfiguration" content="PixelInterleaved" />
<meta name="Dimension VerticalPixelSize" content="0.26462027" />
<meta name="IHDR"
content="width=765, height=397, bitDepth=8, colorType=RGB, compressionMethod=deflate, filterMethod=adaptive, interlaceMethod=none" />
<meta name="Chroma ColorSpaceType" content="RGB" />
<meta name="tiff:BitsPerSample" content="8 8 8" />
<meta name="Content-Type-Override" content="image/png" />
<meta name="Content-Type" content="image/png" />
<meta name="height" content="397" />
<meta name="gAMA" content="45455" />
<meta name="pHYs" content="pixelsPerUnitXAxis=3779, pixelsPerUnitYAxis=3779, unitSpecifier=meter" />
<meta name="Chroma Gamma" content="0.45455" />
<meta name="Dimension PixelAspectRatio" content="1.0" />
<meta name="sRGB" content="Perceptual" />
<meta name="Compression NumProgressiveScans" content="1" />
<meta name="Content-Type-Parser-Override" content="image/ocr-png" />
<meta name="X-TIKA:Parsed-By" content="org.apache.tika.parser.DefaultParser" />
<meta name="X-TIKA:Parsed-By" content="org.apache.tika.parser.image.ImageParser" />
<meta name="X-TIKA:Parsed-By" content="org.apache.tika.parser.ocr.TesseractOCRParser" />
<meta name="Dimension HorizontalPixelSize" content="0.26462027" />
<meta name="Chroma BlackIsZero" content="true" />
<meta name="Compression Lossless" content="true" />
<meta name="width" content="765" />
<meta name="Dimension ImageOrientation" content="Normal" />
<meta name="tiff:ImageWidth" content="765" />
<meta name="Chroma NumChannels" content="3" />
<meta name="Data SampleFormat" content="UnsignedIntegral" />
<title>
</title>
</head>
<body>
<div class="ocr">Hi gfhe dhfnmdfdjfdi
djfndtn jnfakjfd
jdhfakjfa
</div>
</body>
</html>
Solution 1:[1]
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("POST"), "http://localhost:9998/rmeta/form"))
{
var multipartContent = new MultipartFormDataContent();
multipartContent.Add(new ByteArrayContent(File.ReadAllBytes(filepath)), "upload", Path.GetFileName(filepath));
request.Content = multipartContent;
var response = await httpClient.SendAsync(request);
using (HttpContent content = response.Content)
{
var json = content.ReadAsStringAsync().Result;
}
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Somnath Maji |
