servlet上传代码
生活随笔
收集整理的這篇文章主要介紹了
servlet上传代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用servlet寫了一個上傳文件功能,還可以接收到前臺頁面的參數。
package com.base.servlet;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.base.dao.DoctorDao;
import com.base.domain.Doctor;
import com.base.utils.RandomUtil;
public class DoctorAdd extends HttpServlet{
private static final long serialVersionUID = -7826515077910082336L;
File tmpDir = null;//初始化上傳文件的臨時存放目錄 ??
File saveDir = null;//初始化上傳文件后的保存目錄?
@Override
public synchronized void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
? Doctor doctor=new Doctor();
? String tmpPath = request.getRealPath("upload")+"\\temp"; ??
? String savePath = request.getRealPath("upload")+"\\upload"; ?
? System.out.println(savePath);
? tmpDir = new File(tmpPath); ?
? saveDir = new File(savePath);?
? if(!tmpDir.isDirectory())
? tmpDir.mkdir(); ??
? if(!saveDir.isDirectory()) ? ?
? ? ? saveDir.mkdir();
? try{
? if(ServletFileUpload.isMultipartContent(request)){
? DiskFileItemFactory dff = new DiskFileItemFactory();//創建該對象
? ? ? ? ? dff.setRepository(tmpDir);//指定上傳文件的臨時目錄
? ? ? ? ? dff.setSizeThreshold(1024000);//指定在內存中緩存數據大小,單位為byte
? ? ? ? ? ServletFileUpload sfu = new ServletFileUpload(dff);//創建該對象
? ? ? ? ? sfu.setFileSizeMax(5000000);//指定單個上傳文件的最大尺寸?
? ? ? ? ? sfu.setSizeMax(10000000);
? ? ? ? ? List<?> items = sfu.parseRequest(request);
? ? ? ? ? Iterator<?> iter = items.iterator();
? ? ? ? ? while(iter.hasNext()){
? ? ? ? ? FileItem item=(FileItem) iter.next();
? ? ? ? ? if(item.isFormField()) {?
? ? ? ? ? String fieldName=item.getFieldName();
? ? ? ? ? ? ? String value=item.getString("GBK");
? ? ? ? ? ? ? if(fieldName.equals("username")){
? ? ? ? ? ? ? doctor.setName(value);
? ? ? ? ? ? ? }else if(fieldName.equals("address")){
? ? ? ? ? ? ? doctor.setAddress(value);
? ? ? ? ? ? ? }else if(fieldName.equals("doctor_introduce")){
? ? ? ? ? ? ? System.out.println("doctor_introduce是"+value);
? ? ? ? ? ? ? doctor.setIntroduce(value);
? ? ? ? ? ? ? }
? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? String fileName =RandomUtil.genRandomStr(12)+".jpg";?
? ? ? ? ? File uploadedFile = new File(saveDir+"/"+fileName);
? ? ? ? ? item.write(uploadedFile);
? ? ? ? ? doctor.setPhotourl(fileName);
? ? ? ? ? }
? ? ? ? ? }
? ? ? ? ? DoctorDao doctorDao=new DoctorDao();
? ? ? ? ? doctorDao.doctorAdd(doctor);
? ? ? ? ? response.sendRedirect("doctorList");
? ? ? ? ? }
? }
? catch(Exception e){ ? ? ? ?
? ?e.printStackTrace();
? }
}
}
總結
以上是生活随笔為你收集整理的servlet上传代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: myeclipse设置注释格式
- 下一篇: SpringContextUtil