struts2文件和图片上传代码,很强大的工具类

来源:互联网 发布:淘宝店铺标志在线制作 编辑:程序博客网 时间:2024/04/27 22:09
准备:导入commons-io-2.0.1.jar和commons-fileupload-1.2.1.jar,版本可以不一样前台:      <struts:form action="weiboAction!uploadPicture.shtml" enctype="multipart/form-data" namespace="/" method="post"><struts:file name="image" label="文件"></struts:file>    <struts:submit value="上传"/>    </struts:form>后台:/** * 作者:刘鹏 * 时间:2013-07-07 * 描述:微博列表中的图片和文件上传显示 * @return *//*****************以下为上传部分*******************************/private File image;                        //得到上传的文件private String imageFileName;              //得到文件的名称,写法是固定的private String imageContentType;   //得到文件的类型public String getImageContentType() {return imageContentType;}public void setImageContentType(String imageContentType) {this.imageContentType = imageContentType;}public String getImageFileName() {return imageFileName;}public void setImageFileName(String imageFileName) {this.imageFileName = imageFileName;}public File getImage() {return image;} public void setImage(File image) {this.image = image;}public String addUI(){return SUCCESS;}public String uploadPicture(){HttpServletRequest request = ServletActionContext.getRequest();//保存到根目录下的Images文件夹下String realPath = ServletActionContext.getServletContext().getRealPath("/uploadOImages");    //取得真实路径System.out.println(realPath);System.out.println(imageFileName);System.out.println(imageContentType);//自动命名Random random = new Random(99999);int tempInt = random.nextInt();Date date = new Date();SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");int last = imageFileName.lastIndexOf(".");String head = imageFileName.substring(0,last);String type = imageFileName.substring(last);imageFileName = simpleDateFormat.format(date) + tempInt + type;System.out.println("新的文件名称是:"+imageFileName);//创建父文件夹if(image!=null){File saveFile = new File(new File(realPath), imageFileName);if(!saveFile.getParentFile().exists()){     //如果Images文件夹不存在saveFile.getParentFile().mkdirs();  //则创建新的多级文件夹}try {FileUtils.copyFile(image, saveFile);     //保存文件ActionContext.getContext().put("message", "上传成功!");request.setAttribute("uploadsuccess", imageFileName);} catch (IOException e) {e.printStackTrace();}}return "upload";}/*****************以上为上传部分*******************************/后台将图片的地址保存到数据库中//先从数据库中将所有数据读出来,放入到request中request.setAttribute("weibotest", list);前台使用OGNL语言读取出图片地址,并且显示图片<s:iterator value="#request.weibotest" var="user"><s:property value="#user.getContent()"/><img src ='<s:property value ="#user.getImage()" />' width="200">     //显示图片</s:iterator>


	
				
		
原创粉丝点击