该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
注意事项
1.form表单一定要写属性enctype="multipart/form-data"
2.为了能保证文件能上传成功file控件的name属性值要和你提交的控制层变量名一致,
例如空间名是file那么你要在后台这样定义
private File file; //file控件名
private String fileContentType;//图片类型
private String fileFileName; //文件名
jsp页面
文件上传页面数据需要提交的Controller
package com.cpsec.tang.chemical.action; import java.io.File;import java.io.IOException;import java.util.Random; import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;import org.springframework.stereotype.Controller; import com.cpsec.tang.chemical.biz.LunboBiz;import com.cpsec.tang.chemical.entity.Image;import com.opensymphony.xwork2.ActionSupport; @Controller("lunboAction")public class LunboAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; @Resource(name="lunboBiz") private LunboBiz lunboBiz; private Image image; private File file; //file控件名 private String fileContentType;//图片类型 private String fileFileName; //文件名 private Integer number; public String findImage(){ image=lunboBiz.findImage(); return SUCCESS; } public String alterImage(){ image=lunboBiz.findImage(); return SUCCESS; } public String alterImage1(){ HttpServletRequest request = ServletActionContext.getRequest(); String root = request.getRealPath("/upload");//图片要上传到的服务器路径 String names[]=fileFileName.split("\\."); String fileName=""; if(names.length>=1){ fileName=getRandomString(20)+"."+names[names.length-1]; } String picPath="upload/"+fileName;//图片保存到数据库的路径 File file1=new File(root); try { FileUtils.copyFile(file, new File(file1,fileName)); } } catch (IOException e) { e.printStackTrace(); } return SUCCESS; } /*获取一条随机字符串*/ public String getRandomString(int length) { //length表示生成字符串的长度 String base = "abcdefghijklmnopqrstuvwxyz0123456789"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(base.length()); sb.append(base.charAt(number)); } return sb.toString(); } }
需要的留邮哦~