Struts2上传文件

来源:互联网 发布:淘宝旗袍 周婷 微博 编辑:程序博客网 时间:2024/05/16 06:03
1.在要上传文件的jsp文件中写入<s:file label="请上传图片" name="upload"></s:file>
2.在添加文件的action中需要定义两个私有属性。private File upload; private String uploadFileName;并生成他们的getter和setter方法。(注意,定义的File 属性必须与步骤1中的name的值一样这里必须同为upload,文件名对象也必须命名为对应的xxxFileName,这里为uploadFileName)。
3.在具体上传图片的方法中获取文件对象和文件名File file = getUpload();  String fileName = getUploadFileName(); 这里的getUpload()和getUploadFileName()为步骤2中生成的getter方法。
4.判断3中是否成功获取到文件对象,若获取到执行下列操作
if(!(fileName==null)){                                    //根据上传的文件名是否为空来判断是否有文件上传
   String path= ServletActionContext.getServletContext().getRealPath("/pic");             //设置文件需要保存的路径
   path= path+"\\"+getUploadFileName();                                 //设置文件需要保存的路径
   ui.saveImage(file, path);                                               //调用上传文件的函数
   item2.setImage("pic/"+getUploadFileName());                    //将文件的路径和文件名进行持久化,这里item2是一个含有上传文件的对象。
  }
5.编写专门的一个类文件上传的功能
public class uploadImage {
public void saveImage(File file,String path){
  if(file.exists()){   
   try{
    FileInputStream is = new FileInputStream(file);
    FileOutputStream os = new FileOutputStream(path);
    byte buffer[] = new byte[1024];
    int count = 0;
    while((count=is.read(buffer))>0){
     os.write(buffer,0,count);     //将0到count个字节写入到buffer
    }
    os.close();
    is.close();
    System.out.println("文件在组件中上传成功");
   }catch(Exception e){
    e.printStackTrace();
   }
  }else{
   System.out.println("文件不存在");
  }
  
 }
}
0 0
原创粉丝点击