您的位置:首页 > 编程语言 > Java开发

struts文件上传、Cos组件文件上传

2010-11-16 20:19 435 查看
Struts文件上传及cos.jar文件上传
 * 必须在页面form表单中定义enctype="multipart/form-data"属性,才能实现文件的上传

 1.sturts自带的文件上传功能,表单中file的类型为file,则在Form填充中须有相应的属性file类型org.apache.struts.upload.FormFile
   在Action中直接操作FormFile得到该文件的输入流(getInputStream()),文件名(getFileName()) ,文件大小(getFileSize())等文件的信息
   在根据文件的流操作对文件进行保存。
   //文件流的读入与写出
   BufferedInputStream bis = new BufferedInputStream(formFile.getInputStream());
   //savePath为文件需要保存的路径
   BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(savePath)));
   //读写文件流
   int b = 0;
   while((b = bis.read()) != -1) {
    bos.write(b);
   }
   //关闭流操作
   bos.close();
   bis.close();
  
  
 2.采用COS.jar插件上传文件
   * 需要导入cos.jar包到WEB-INFO/lib目录下
      组件中com.oreilly.servlet.multipart.MultipartParser类操作文件上传,该类有isFile()与isParam()方法可以判断页面提交的表单是参数还是
      文件,再将该类的实例转型为FilePart或ParamPart,FilePart实例可实现对文件的信息(getFileName())等。
     
      * 对文件的上传的操作直接通过流直接写入文件,savePath为文件保存路径、fileSize为文件大小
       File file = new File(savePath);
       long fileSize = filePart.writeTo(file);
      * 也可通过操作输入流filePart.getInputStream()进行文件的上传,方法如上面操作
       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts file action