遇到的坑和返回结果如下:
Bad Request
{
Connection: close
Access-Control-Allow-Headers: Content-Type,Origin,Accept
Access-Control-Allow-Methods: HEAD,GET,POST,PUT,DELETE,OPTIONS
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 120
Keep-Alive: timeout=38
Date: Thu, 07 Jun 2018 08:55:02 GMT
Content-Length: 5
Content-Type: text/plain; charset=UTF-8
}
error
解决后正确示例:
c#:
private async void DoPostFile2(string sFile) { HttpClient client = new HttpClient(); MultipartFormDataContent form = new MultipartFormDataContent(); FileInfo file = new FileInfo(sFile); form.Add(new StreamContent(file.OpenRead()), "picFile", file.Name); HttpResponseMessage response = await client.PostAsync("http://192.168.1.152:8091/pic/uploadPicture", form); Console.WriteLine(response.StatusCode); Console.WriteLine(response.ReasonPhrase); Console.WriteLine(response.ToString()); Console.WriteLine(Encoding.ASCII.GetString(await response.Content.ReadAsByteArrayAsync())); }
Java API:(Springboot)
@ApiOperation(value = "上传图片" ,notes = "上传功能",httpMethod = "POST") @RequestMapping(value = "/uploadPicture",method = RequestMethod.POST) @ResponseBody public String uploadPicture(@RequestParam(value="picFile")MultipartFile picFile, HttpServletRequest request){ String result = ConstUtils.RESULT_FAILED; if(picFile != null && !picFile.isEmpty()) { try { // 略 }catch (Exception e){ e.printStackTrace(); } } return result; }
原因: