1、定义写一个上传附件的jsp文件uploadfile.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.io.*;"%>
<html>
<body>
<%
InputStream in = request.getInputStream();
request.setCharacterEncoding("utf-8");
String name = request.getHeader("filename");
if (name != null && !"".equals(name)) {
String savepath = request.getHeader("savepath");
String path = request.getSession().getServletContext()
.getRealPath("/");
File file = new File(path + "\\" + savepath + "\\" + name);
FileOutputStream fos = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int bytes = 0;
while ((bytes = in.read(buffer)) != -1) {
fos.write(buffer, 0, bytes);
}
fos.flush();
fos.close();
in.close();
}
%>
</body>
</html>
2、java代码,通过后台代码调用url上传附件
public static void httpConnectionUpload(String fname,String savepath,InputStream ins) {
try {
/****urlStr为http://localhost:7001/DOCLINKS/uploadfile.jsp**/
String urlStr=PropertiesHelper.getValue("httpconn.upload.url");
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setChunkedStreamingMode(1024 * 1024);
conn.setRequestMethod("POST");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Content-Type", "multipart/form-data;charset=utf-8;file=" +fname);
conn.setRequestProperty("filename", fname);//文件名
conn.setRequestProperty("savepath", savepath);//存储文件夹
OutputStream out = new DataOutputStream(conn.getOutputStream());
DataInputStream in = new DataInputStream(ins);
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
in.close();
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
java后台上传附件-HttpURLConnection
猜你喜欢
转载自awen7916.iteye.com/blog/2204903
今日推荐
周排行