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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。