SpringMVC在上传文件的时候提示The current request is not a multipart request,如何破?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

SpringMVC在上传文件的时候提示The current request is not a multipart request,如何破?

a123456678 2016-03-19 10:24:17 11274

/* 保存订单 /
@RequestMapping("/insertOrder")
public @ResponseBody Object insertOrder(String userId,@RequestParam(required=false) MultipartFile voice) {}

比如是这样一个Controller。 对方是移动端发送POST请求来执行这个方法。 当它发布的请求没有voice这个参数的时候就会报错。。。

以前在用form提交的时候知道如何解决,但是单纯的POST请求不知道如何解决了。

分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:07:33
    String uploadUrl = actionUrl;  
        String end = "\r\n";  
        String twoHyphens = "--";  
        String boundary = "******";  
        try  
        {  
          URL url = new URL(uploadUrl);  
          HttpURLConnection httpURLConnection = (HttpURLConnection) url  
              .openConnection();  
          httpURLConnection.setDoInput(true);  
          httpURLConnection.setDoOutput(true);  
          httpURLConnection.setUseCaches(false);  
          httpURLConnection.setRequestMethod("POST");  
          httpURLConnection.setRequestProperty("Connection", "Keep-Alive");  
          httpURLConnection.setRequestProperty("Charset", "UTF-8");  
          httpURLConnection.setRequestProperty("Content-Type",  
              "multipart/form-data;boundary=" + boundary);  
      
          DataOutputStream dos = new DataOutputStream(httpURLConnection.getOutputStream());  
          dos.writeBytes(twoHyphens + boundary + end);  
          dos.writeBytes("Content-Disposition: form-data; name=\"file\"; filename=\""  
                  + srcPath.substring(srcPath.lastIndexOf("/") + 1)  
                  + "\"" + end);  
          dos.writeBytes(end);  
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章