src/org/bs/servlet/backend/UploadServlet.java

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package org.bs.servlet.backend;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.bs.model.Pic;
import org.bs.model.User;
import org.bs.service.PicService;
import org.bs.utils.JDBCHandler;
import org.bs.utils.PageContext;

public class UploadServlet extends BaseServlet {
	private PicService picService;
	public void upload(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		int id = Integer.parseInt(request.getParameter("id"));
		
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		if(isMultipart){
			ServletFileUpload upload = new ServletFileUpload();
			upload.setSizeMax(1024*1024*1024);
			try {
				FileItemIterator iter = upload.getItemIterator(request);
				while(iter.hasNext()){
					FileItemStream item = iter.next();
				    String filedname = item.getFieldName();
				    InputStream stream = item.openStream();
				    if(item.isFormField()){
				    }else{ 
					    	String filename = item.getName(); 
					    	String realPath = this.getServletContext().getRealPath("/backend");
					    	String ext = filename.substring(filename.lastIndexOf("."));
					    	String finalFilename = new SimpleDateFormat("yyyyMMddHHmmssms").format(new Date())+ext;
					    	Pic pic = picService.findById(id);
					    	String photo = "upload/"+finalFilename;
					    	pic.setImg(photo);
					    	picService.update(pic);
					    	OutputStream out = new FileOutputStream(realPath+"/upload/"+finalFilename);
					    	Streams.copy(stream, out, true);
				    }
				}
			} catch (FileUploadException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
后面还有 70 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。