小编Smi*_*kar的帖子

将文本文件从.Net http客户端上传到InputStream格式的Java REST API

我有一个案例,我想从.Net http客户端上传文本文件到InputStream格式的Java REST API.当我使用Form-Data Body中的File从Postman访问Java REST时,该文件在Java REST服务中得到了很好的接收.当我尝试从.Net客户端做同样的事情时,我得到了一些例外,如下所示.

我的.Net HTTP客户端代码如下,

var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:8082/processes/view/createDocumentfromFile/851");
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("procId", "100");
client.DefaultRequestHeaders.Add("DocName", "ProphetWorkflow");
var content = new MultipartFormDataContent();
content.Add(new ByteArrayContent(File.ReadAllBytes(@"C:\Users\charan.ghate\Desktop\Calculation.txt")));
HttpResponseMessage messge = client.PostAsync(client.BaseAddress, content).Result;
if (messge.IsSuccessStatusCode)
{
    string result = messge.Content.ReadAsStringAsync().Result;
    lblResponse.Text = result;
}
Run Code Online (Sandbox Code Playgroud)

我的Java REST服务代码如下,

@POST
@Path("/createDocumentfromFile/{procId}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN })
@Produces({ MediaType.APPLICATION_JSON })
public Response createDocumentfromFile(@PathParam("procId") Long piOID, @HeaderParam("DocName") String modulename,
        @Context HttpServletRequest request, @Context HttpServletResponse response,
        @FormDataParam("file") InputStream uploadedInputStream) {
//
//Operation on …
Run Code Online (Sandbox Code Playgroud)

.net java rest file httpclient

9
推荐指数
1
解决办法
278
查看次数

标签 统计

.net ×1

file ×1

httpclient ×1

java ×1

rest ×1