Java 是一种跨平台的编程语言,可以进行文件上传和处理。在 web 开发中,文件上传往往伴随着参数的传递,这里我们将学习如何使用 Java 进行文件上传和参数传递。
在 Java 中,使用HttpURLConnection
和multipart/form-data
来实现文件上传。对于参数的传递,我们可以使用HttpServletRequest
对象的getParameter()
方法或者直接从输入流中获取参数。
// 创建连接
URL url = new URL("http://example.com/upload");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
con.setRequestProperty("User-Agent", "Java client");
// 构建请求体
DataOutputStream out = new DataOutputStream(con.getOutputStream());
out.writeBytes(twoHyphens + boundary + lineEnd);
out.writeBytes("Content-Disposition: form-data; name=\"file\"; filename=\"" + fileName + "\"" + lineEnd);
out.writeBytes("Content-Type: " + mimetype + lineEnd);
out.writeBytes(lineEnd);
out.write(fileBytes);
out.writeBytes(lineEnd);
out.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
out.flush();
out.close();
// 获取返回值
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
以上是一个示例,我们可以通过修改其中的参数和 URL 来实现文件上传和参数传递。