struts2文件怎样上传?
文件上传几乎是每个项目实现的一个必须的模块。
上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。
将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏。
这一过程称为上传。
JAVA实现文件上传的几个组件: 1 SmatUpload 用的最多的一个组件,已经不再更新了,可以实现上传和下载 2 FileUpload Apache实现的文件上传组件,功能齐备 3 J2KUpload java2000实现的文件上传组件,全部使用内存,适合多个不超过10M的小文件 下面具体说说FileUpload Apache实现的文件上传组件。
1、** 按copy方式上传 * Java代码 pulic Sting uploadFile(){ **保存的具体路径* Sting savepath = getSavePath(); **根据保存的路径创建file对象* File file = new File(savepath); if(!file.exists()){ **创建此文件对象路径* file.mkdis(); } ty { **使用的是:og.apache.commons.io.FileUtils FileUtils* FileUtils.copyFile(pic, new File(file,getPicFileName())); } catch (IOException e) { e.pintStackTace(); } etun SUCCESS; } 备注: 1、getSavePath()方法中,SevletActionContext()。
getSevletContext()。
getRealPath (savePath+"\\"+getPicFileName()); ,这个主要是一个文件的实际路径 2、我个人认为这种方式是简单易用的。
按copy方式上传使用的是Apache公司的 og.apache.commons.io.FileUtils包里的FileUtils.java.
struts2 文件上传的问题,请教.....
前段时间Apache发布了Stuts 2.0.6 GA,所以本文的实现是以该版本的Stuts作为框架的。
以下是例子所依赖类包的列表: 清单1 依赖类包的列表 首先,创建文件上传页面FileUpload.jsp,内容如下: Stuts 2 File Upload 清单2 FileUpload.jsp 在FileUpload.jsp中,先将表单的提交方式设为POST,然后将enctype设为multipatfom-data,这并没有什么特别之处。
接下来,标志将文件上传控件绑定到Action的myFile属性。
其次是FileUploadAction.java代码: package tutoial; impot java.io.BuffeedInputSteam; impot java.io.BuffeedOutputSteam; impot java.io.File; impot java.io.FileInputSteam; impot java.io.FileOutputSteam; impot java.io.InputSteam; impot java.io.OutputSteam; impot java.util.Date; impot og.apache.stuts2.SevletActionContext; impot com.opensymphony.xwok2.ActionSuppot; pulic class FileUploadAction extends ActionSuppot { pivate static final long seialVesionUID = 572146812454l ; pivate static final int BUFFER_SIZE = 16 * 1024 ; pivate File myFile; pivate Sting contentType; pivate Sting fileName; pivate Sting imageFileName; pivate Sting caption; pulic void setMyFileContentType(Sting contentType) { this .contentType = contentType; } pulic void setMyFileFileName(Sting fileName) { this .fileName = fileName; } pulic void setMyFile(File myFile) { this .myFile = myFile; } pulic Sting getImageFileName() { etun imageFileName; } pulic Sting getCaption() { etun caption; } pulic void setCaption(Sting caption) { this .caption = caption; } pivate static void copy(File sc, File dst) { ty { InputSteam in = null ; OutputSteam out = null ; ty { in = new BuffeedInputSteam( new FileInputSteam(sc), BUFFER_SIZE); out = new BuffeedOutputSteam( new FileOutputSteam(dst), BUFFER_SIZE); yte [] uffe = new yte [BUFFER_SIZE]; while (in.ead(uffe) 0 ) { out.wite(uffe); } } finally { if ( null != in) { in.close(); } if ( null != out) { out.close(); } } } catch (Exception e) { e.pintStackTace(); } } pivate static Sting getExtention(Sting fileName) { int pos = fileName.lastIndexOf( " . " ); etun fileName.susting(pos); } @Oveide pulic Sting execute() { imageFileName = new Date().getTime() + getExtention(fileName); File imageFile = new File(SevletActionContext.getSevletContext().getRealPath( " UploadImages " ) + " " + imageFileName); copy(myFile, imageFile); etun SUCCESS; } } 完成 丢弃
struts2实现文件上传以后如何实现列表下载
在表单内添加一个input1,页面设置;2;>,type="file";/form>3,控制器接值,可以接三个值(文件,文件名,文件类型)private File file1,表单一定要设置两个属性method和enctypemethod是表单提交方式,enctype是表单域内容以流的方式处理<input type="file" name="file1"multipart/, 一定有个表单...
struts2如何用注解的方式实现文件上传
使用jexcel生成excel,使用annotations配置下载的参数。
@Results( { @Result(name = "download", type = "stream", params = { "contentType", "application/vnd.ms-excel","inputName", "inputStream", "contentDisposition", "attachment;filename=\"${downloadFileName}\"", "bufferSize","4096" }) })public class DownLoad2Action extends ActionSupport{public static final String DOWNLOAD = "download";private String fileName;// 初始的通过param指定的文件名属性public String getFile() throws Exception{setFileName("add的.xls");return “download”;}public InputStream getInputStream() throws Exception {WritableWorkbook workbook = Workbook.createWorkbook(new File("d:\\a.xls"));WritableSheet sheet = workbook.createSheet("测试", 0);Label label = new Label(0, 0, "hello world 从");sheet.addCell(label);workbook.write();workbook.close();return new FileInputStream(new File("d:\\a.xls"));}/** 提供转换编码后的供下载用的文件名 */public String getDownloadFileName() {String downFileName = fileName;try {downFileName = new String(downFileName.getBytes(), "ISO8859-1");} catch (UnsupportedEncodingException e) {e.printStackTrace();}return downFileName;}public void setFileName(String fileName) {this.fileName = fileName;}}访问的URL:down-load2!getFile.actionparams 中使用键值对进行设置:key1,value1,key2,value2.....;对应response相应头信息
转载请注明出处51数据库 » struts2上传word预览