📄 upfileaction.java
字号:
package com.action;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.sql.ResultSet;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.ActionMessage;import org.apache.struts.action.ActionMessages;import org.apache.struts.upload.FormFile;import com.actionForm.UpFileForm;import com.dao.DB;public class UpFileAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { DB mydb = new DB(); String target = "over"; String sql = ""; ActionMessages messages = new ActionMessages(); UpFileForm upfileform = (UpFileForm) form; FormFile upfile = upfileform.getUpfile(); String filename = upfileform.getFname(); int filesize = upfileform.getFsize(); String filetype = upfileform.getFtype(); String fileinfo = upfileform.getFinfo(); sql = "insert into b_file(fname,ftype,fsize,finfo) values('" + filename + "','" + filetype + "','" + filesize + "','" + fileinfo + "')"; int i = mydb.add(sql); if (i <= 0) { messages.add("fileM", new ActionMessage("file.up.F")); saveErrors(request, messages); return mapping.findForward(target); } sql = "select MAX(fid) from b_file as maxid"; ResultSet rsmax = mydb.seach(sql); int fileid = -1; try { rsmax.next(); fileid = rsmax.getInt(1); } catch (Exception e) { e.printStackTrace(); } String upname = ""; String endname = filename.substring(filename.indexOf(".")); upname = fileid + endname; byte a[] = new byte[filesize]; File file = new File(servlet.getServletContext().getRealPath("/file"), upname); FileOutputStream outfile = new FileOutputStream(file); InputStream input = upfile.getInputStream(); int allread = 0; int subread = 0; while (allread < filesize) { subread = input.read(a, allread, filesize); allread += subread; } outfile.write(a); outfile.close(); input.close(); messages.add("fileM", new ActionMessage("file.up.S")); saveErrors(request, messages); return mapping.findForward(target); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -