微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HttpsURLConnection POST 方法失败我不知道我是否有正确的编写器和/或输出流编写器对于多部分/表单数据

如何解决HttpsURLConnection POST 方法失败我不知道我是否有正确的编写器和/或输出流编写器对于多部分/表单数据

我正在使用 multipart/form-data 发送 POST 请求。我使用了一个将数据存储为 csv.The 文件文件是 person,positon,id。我担心错误可能是没有正确的编写器,如 Dataoutput 流与输出流。我的回车和换行设置或任何连接设置都关闭的方式。 URL 是正确的,但最后一个参数要求提供文件名,我将其放在内容处理中。我所做的所有更改都无法消除此错误。我只是想知道这是否有任何不正确的地方。我收到 500 错误,但这导致收到此错误

org.springframework.web.multipart.MultipartException:无法解析多部分 servlet 请求;嵌套异常是 java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request Failed。直播意外结束

如有任何建议或更改,我们将不胜感激。

public static String postFile(String url) 抛出 IOException {

      String boundary = "xxxxxxxxxxxxxxxxxxxxxxxxx";

      String charset = "UTF-8";

      String CRLF = "\r\n";

      int boundaryLength = 181;     

      try {

          BufferedReader in = null;

          File useRSS = new File("bytesExampleCSV.csv");

          URL obj = new URL(url);

          HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();

          conn.setRequestMethod("POST");

          conn.setDoOutput(true);

          conn.setDoInput(true);

          conn.setUseCaches(false);

          conn.setRequestProperty("Content-Type","multipart/form-data; boundary=" + boundary);

          conn.setRequestProperty("User-Agent","Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/90.0.4430.93 Mobile Safari/537.36");


          conn.setRequestProperty("Connection","keep-alive");

          conn.setRequestProperty("Content-Length",String.valueOf((useRSS.length()) + boundaryLength));

          conn.connect();

          OutputStream output = conn.getoutputStream();

          PrintWriter writer = new PrintWriter(new OutputStreamWriter(output,charset),true);

          try {

               writer.append("--").append(boundary).append(CRLF);

               writer.append("Content-disposition: form-data; name=\"bytesExampleCSV.csv\"; filename=\""

                         + useRSS.getName() + "\"").append(CRLF);

               writer.append("Content-Type: text/plain; charset=" + charset).append(CRLF);

               writer.append(CRLF).flush();

               Files.copy(useRSS,output);

               output.flush();

               // writer.append(CRLF);

               writer.append("--" + boundary + "--").append(CRLF).flush();

               writer.close();

               conn.disconnect();

               System.out.println(output);

          } catch (Exception e) {

               e.printstacktrace();

          }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。