欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

struts上传文件代码,struts上传文件,java struts[

来源: javaer 分享于  点击 4714 次 点评:67

struts上传文件代码,struts上传文件,java struts[


java struts

[Java]代码

在struts.xml文件中配置:<!-- 上传文件临时文件位置 --><constant name="struts.multipart.saveDir" value="/tmp"/><constant name="struts.multipart.maxSize" value="1000000000"/>package edu.ING.ING_pro_school.school.action;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.Date;import org.apache.struts2.ServletActionContext;public class SetFaceAction {  private static final long serialVersionUID =1L;  private static final int BUFFER_SIZE =16*1024;  // 页面图片  private File photoFile;  // 图片名  private String photoFileFileName;  // 图片类型  private String photoFileContentType;  private String img;  public String getImg() {    return img;  }  public void setImg(String img) {    this.img = img;  }  public File getPhotoFile() {    return photoFile;  }  public void setPhotoFile(File photoFile) {    this.photoFile = photoFile;  }  public String getPhotoFileFileName() { return photoFileFileName;  }  public void setPhotoFileFileName(String photoFileFileName) {    this.photoFileFileName = photoFileFileName;  }  public String getPhotoFileContentType() {    return photoFileContentType;  }  public void setPhotoFileContentType(String photoFileContentType) {    this.photoFileContentType = photoFileContentType;  }  /*   * 取得运行时服务器目录   *    * @return 服务器根目录   */  public String getSavePath() {    // 如果是从服务器上取就用这个获得系统的绝对路径方法。    return ServletActionContext.getServletContext().getRealPath("/");  }  public String download() throws UnsupportedEncodingException {    String path = getSavePath() +"\\UploadImages\\"+this.getImg();   System.out.println("path is "+ path);    BufferedInputStream bis =null;    BufferedOutputStream bos =null;    OutputStream fos =null;    InputStream fis =null;    String filepath = path;    System.out.println("文件路径"+ filepath);    File uploadFile =new File(filepath);    try {      fis =new FileInputStream(uploadFile);      bis =new BufferedInputStream(fis);      fos = ServletActionContext.getResponse().getOutputStream();      bos =new BufferedOutputStream(fos);      // 这个就就是弹出下载对话框的关键代码      ServletActionContext.getResponse().setHeader("Content-disposition",          "attachment;filename="+ URLEncoder.encode(path, "gbk"));      int bytesRead =0;      // 这个地方的同上传的一样。我就不多说了,都是用输入流进行先读,然后用输出流去写,唯一不同的是我用的是缓冲输入输出流      byte[] buffer =new byte[8192];      while ((bytesRead = bis.read(buffer, 0, 8192)) !=-1) {        bos.write(buffer, 0, bytesRead);      }      bos.flush();      fis.close();      bis.close();      fos.close();      bos.close();    } catch (FileNotFoundException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    }    return null;  }/** * 上传图片 * 修改  * @return * @throws Exception */  public String setFace() throws Exception {    if (null!=this.getPhotoFile()) {      // 从画面上取得图片文件      File files =this.getPhotoFile();      // 文件名 = 文件名 + 日期      photoFileFileName =new Date().getTime() + photoFileFileName.trim();      String savePath = getSavePath() +"\\UploadImages\\";      // 判断保存用文件夹是否存在      mkdir(savePath);      // 保存用的数据流生成      FileOutputStream fos =new FileOutputStream(savePath + photoFileFileName);      System.out.println(savePath + photoFileFileName);      // 保存文件      FileInputStream fis =new FileInputStream(files);      byte[] buffer =new byte[BUFFER_SIZE];      int len =0;      while ((len = fis.read(buffer)) >0) {        fos.write(buffer, 0, len);      }    }    return"";  }  /*   * 判断保存用文件夹是否存在   *    * @param path 保存用的文件夹路径   */  public void mkdir(String path) {    File file =new File(path);    // 如果存在    if (file.exists()) {      System.out.println("the dir is exits");      // 如果不存在,新建    } else {      file.mkdir();      System.out.println("have made a dir");    }  }}
相关栏目:

用户点评