8.文件上传下载-讲稿.docVIP

  • 7
  • 0
  • 约3.02千字
  • 约 7页
  • 2015-09-12 发布于山西
  • 举报
内蒙古工业大学 讲 稿 2013/2014 学年 第一学期 学 院 信息工程学院 系 别 软件工程系 课程名称 struts2 授课对象 软件11-1、2 主讲教师 职 称 课程学时 32 Struts2文件上传简介 3 文件上传要点一 3 文件上传要点二 4 文件过滤 5 多文件上传 5 学员动手实验 6 总结 7 文件上传 目录 Struts2文件的上传简介 文件上传要点 多文件上传 文件下载 应用文件上传 通常我们在设计站点时都会用到文件上传,比如上传一个文档、上传一张图片 Struts2文件上传简介 struts2并没有定义自己的文件解析器,而是采用了其他的开源组件 支持三种文件上传组件 # struts.multipart.parser=cos # struts.multipart.parser=pell struts.multipart.parser=jakarta 其中jakarta是默认支持的方式 如果要使用其他两种,必须将对应的库文件导入工程,并修改struts.properties文件 不管使用哪一种方式上传,代码没有区别 通过FileUploadInterceptor截拦器完成 文件上传要点一 form标签设置enctype=multipart/form-data“ 文件上传后的文件以File表示(如File upload) 上传的文件信息保存方式 文件名:xxxFileName,如:uploadFileName 文件类型:xxxContentType,如uploadContentType 相关属性 struts.multipart.saveDir=g:/ struts.multipart.maxSize=2048 文件上传要点二 文件不会自动保存到服务器,必须在Action中通过流操作保存,典型的代码段如下: FileOutputStream fos = new FileOutputStream(this.savePath + this.file1FileName); FileInputStream fis = new FileInputStream(this.file1); byte[] bs = new byte[1024]; int real = fis.read(bs); while(real 0){ fos.write(bs, 0, real); real = fis.read(bs); } fos.close(); fis.close(); 代码示例--action public class FileuploadAction extends ActionSupport { private String desc; private File file1; private String file1FileName; private String savePath = G: + System.getProperty(file.separator); public String execute()throws Exception{ FileOutputStream fos = new FileOutputStream(this.savePath + this.file1FileName); FileInputStream fis = new FileInputStream(this.file1); byte[] bs = new byte[1024]; int real = fis.read(bs); while(real 0){ fos.write(bs, 0, real); real = fis.read(bs); } fos.close(); fis.close(); return null; } } 代码示例--jsp s:form action=fileupload.action enctype=multipart/form-data s:textfield label=照片描述 name=desc/s:textfield s:file label=文件1 name=file1/s:file s:submit value=上传/s:submit /s:form 文件过滤 上传文件时可能要限制文件扩展名或文件大小,这叫文件过滤. 文件过滤通过FileUploadInterceptor截拦器来实现. 如果文

文档评论(0)

1亿VIP精品文档

相关文档