C#-访问Java文件上传API

遇到的坑和返回结果如下:

Bad Request

StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  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;
    }

原因:


猜你喜欢

转载自blog.csdn.net/u013224722/article/details/80611876