struts hibernate 怎么将上传文件的名字,路径,大小存入mysql数据库,最好有详细代码的,

[复制链接]
查看11 | 回复2 | 2011-10-31 02:55:44 | 显示全部楼层 |阅读模式
我的邮箱[email protected]
回复

使用道具 举报

千问 | 2011-10-31 02:55:44 | 显示全部楼层
①使用struts2的上传jar包,commons-fileupload.jar②配置struts配置文件,在action下配置上传文件的拦截器,例actionname=\"uploadAction\"class=\"com.action.UploadAction\"resultname=\"success\"index.jsp/resultinterceptor-refname=\"fileUpload\"paramname=\"allowedTypes\"/param/interceptor-refinterceptor-refname=\"defaultStack\"//action③用action处理上传文件(下面有例子UploadAction.java)④将路径和大小使用Hibernate存入数据库。下面是上传的action类importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.util.Date;importorg.apache.struts2.ServletActionContext;publicclassUploadActionextendsBaseAction{publicUploadAction(){super(\"\");}privatestaticfinallongserialVersionUID=-7091926458432816740L;privatestaticfinalintBUFFER_SIZE=16*1024;//使用File数组封装多个文件域对应的文件内容privateFile[]file;//使用字符串数组封装多个文件域对应的文件名privateString[]fileFileName;//接受依赖注入的属性@SuppressWarnings(\"unused\")privateStringsavePath;privateStringpath;//结果显示消息privateStringmsg;//只用这个方法也可以实现多图片上传功能publicStringexecute()throwsException{System.out.println(ServletActionContext.getRequest().getSession().getServletContext().getRealPath(\"/\"));//取得需要上传的文件数组File[]files=this.getFile();//遍历每个需要上传的文件for(inti=0;ifiles.length;i){fileFileName=inewDate().getTime()getExtention(fileFileName);//以服务器的文件保存地址和原文件名建立上传文件输出流FileOutputStreamfos=newFileOutputStream(getSavePath()\"upload/img\\\\\"getFileFileName());System.out.println(getSavePath()\"upload\\\\img\\\\\"getFileFileName());path=\"/upload/img/\"getFileFileName();//以每个需要上传的文件建立文件输入流FileInputStreamfis=newFileInputStream(files);//将每个需要上传的文件写到服务器对应的文件中byte[]buffer=newbyte[BUFFER_SIZE];intlen=0;while((len=fis.read(buffer))0){fos.write(buffer,0,len);}}//HttpServletRequestrequest=ServletActionContext.getRequest();//Stringpaths=request.getContextPath();//path=request.getScheme()\"://\"request.getServerName()\":\"request.getServerPort()paths\"/\";this.msg=\"上传成功!\";returnSUCCESS;}//获得每个文件的扩展名publicString[]getExtention(String[]fileNames){String[]extentions=newString[fileNames.length];for(inti=0;iextentions.length;i){intpos=fileNames.lastIndexOf(\".\");extentions=fileNames.substring(pos);}returnextentions;}publicFile[]getFile(){returnfile;}publicvoidsetFile(File[]file){this.file=file;}publicString[]getFileFileName(){returnfileFileName;}publicvoidsetFileFileName(String[]fileFileName){this.fileFileName=fileFileName;}publicStringgetSavePath(){returnServletActionContext.getRequest().getSession().getServletContext().getRealPath(\"/\");}publicvoidsetSavePath(StringsavePath){this.savePath=savePath;}publicStringgetMsg(){returnmsg;}publicvoidsetMsg(Stringmsg){this.msg=msg;}publicStringgetPath(){returnpath;}publicvoidsetPath(Stringpath){this.path=path;}}参考资料:有什么问题,可以追问或者去我空间留言!~
回复

使用道具 举报

千问 | 2011-10-31 02:55:44 | 显示全部楼层
要看你用的struts是哪个版本的赞同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行