servlet 里用ServletInputStream接收,
request.setCharacterEncoding("UTF-8");
ServletInputStream sin = request.getInputStream();
PrintWriter out=response.getWriter();
byte[] buffer = new byte[1024 * 8];
int length = 0, row = 0;
String mark = "";
String filename = "";
while ((length = sin.readLine(buffer, 0, buffer.length)) > 0) {
String s = new String(buffer, 0, length, "UTF-8");
out.println("length:"+length + " " + s + "<br/>");
if (row == 0)
mark = s.trim();
else if (s.indexOf("filename=") > 0) {
int end = s.lastIndexOf("\"");
int start = s.substring(0, end).lastIndexOf("\"");
filename = s.substring(start + 1, end);
} else if ("".equals(s.trim()))
break;
row ++;
}
out.println("filename: " + filename + "<br>");
filename = request.getRealPath("/") + filename;
String _filename = "D:\\jboss-5.1.0.GA\\server\\default\\deploy\\test.jpg";
out.println("||"+filename+"||");
FileOutputStream fout = new FileOutputStream(_filename);
while ((length = sin.readLine(buffer, 0, buffer.length)) > 0) {
String s = new String(buffer, 0, length);
if (s.startsWith(mark))
break;
fout.write(buffer, 0, length);
}
fout.flush();
fout.close();
File f = new File(filename);
System.out.println(f.exists());
System.out.println(f.getAbsolutePath());