PubDun
package com.upload.http;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PubDun extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
response.setContentType("html/text;chatSet=utf-8");
httpUpload(request);
}
public void init() throws ServletException {
}
private void httpUpload(HttpServletRequest req) throws IOException,
UnsupportedEncodingException {
try {
if (req.getMethod().equals("POST") && MultipartRequest.isMultipart(req)) {
req = new MultipartRequest(req, 1);//userId登陆用户标识
//得到上传文件
File upFile = ((MultipartRequest) req).getFile("path");
//得到上传文件名
String fileName = ((MultipartRequest) req).getFileName(upFile);
//得到上传http的值
req.getParameter("res_name");
//把上传文件存放到c:/temp目录下名为123.jpg的文件
saveAs(upFile, "c:/temp/123.jpg");
}
}
finally {
if (req instanceof MultipartRequest) {
//清除上传的临时文件
((MultipartRequest) req).deleteTemporaryFile();
}
}
}
private void saveAs(File upFile, String filePath) throws IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(upFile);
int len = fis.available();
byte[] by = new byte[len];
fis.read(by);
fos = new FileOutputStream(filePath);
fos.write(by);
}
finally {
if (fos != null)
fos.close();
if (fis != null)
fis.close();
}
}
}
html:
<html>
<body>
<form enctype="multipart/form-data" method="post" action="./servlet/PubDun">
<input type="file" name="path" size="38" />
<br />
<input type="text" name="res_name" size="38" />
<br />
<input type="submit" value="上传">
</form>
</body>
</html>
package com.upload.http;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PubDun extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
response.setContentType("html/text;chatSet=utf-8");
httpUpload(request);
}
public void init() throws ServletException {
}
private void httpUpload(HttpServletRequest req) throws IOException,
UnsupportedEncodingException {
try {
if (req.getMethod().equals("POST") && MultipartRequest.isMultipart(req)) {
req = new MultipartRequest(req, 1);//userId登陆用户标识
//得到上传文件
File upFile = ((MultipartRequest) req).getFile("path");
//得到上传文件名
String fileName = ((MultipartRequest) req).getFileName(upFile);
//得到上传http的值
req.getParameter("res_name");
//把上传文件存放到c:/temp目录下名为123.jpg的文件
saveAs(upFile, "c:/temp/123.jpg");
}
}
finally {
if (req instanceof MultipartRequest) {
//清除上传的临时文件
((MultipartRequest) req).deleteTemporaryFile();
}
}
}
private void saveAs(File upFile, String filePath) throws IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(upFile);
int len = fis.available();
byte[] by = new byte[len];
fis.read(by);
fos = new FileOutputStream(filePath);
fos.write(by);
}
finally {
if (fos != null)
fos.close();
if (fis != null)
fis.close();
}
}
}
html:
<html>
<body>
<form enctype="multipart/form-data" method="post" action="./servlet/PubDun">
<input type="file" name="path" size="38" />
<br />
<input type="text" name="res_name" size="38" />
<br />
<input type="submit" value="上传">
</form>
</body>
</html>