我的目标是将文件从操作上传到servlet。
直到现在,我以为我有这样的工作方式:
操作:将文件读取为bytearray,将其转换为String并将String置于请求
HttpURLConnection conn =null;
String url = "http://myServlet");
URL obj = new URL(url);
conn = (HttpURLConnection) obj.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
StringBuffer requestParams = new StringBuffer();
requestParams.append("fileString");
requestParams.append("=").append(URLEncoder.encode(fileString, "ISO-8859-1"));
//Append more params
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(requestParams.toString());
wr.flush();
conn.getContentLength();
Servlet:获取String参数,将其转换回bytearray并重新创建文件
receivedString = request.getParameter("fileString");
//Convert to bytearray and create file
但我想这不是一个好的解决方案,因为有时候调用因为字符串而失败(长度可能是?)
发送文件的正确方法是什么?我找不到发送文件的方法和将它们放在请求上的其他信息。