Struts2 上傳文件主要代碼

n42g 9年前發布 | 2K 次閱讀 Java Struts2

public File file; //與頁面上的 input file 標簽的name 一樣
 public String name;

/**

  • 上傳文件公共方法
  • @param url 地址
  • @param ext 后綴名
  • @return 上傳成功 */ public boolean file(String url,String ext) { response = getResponse();

    InputStream input = null; long time = System.currentTimeMillis(); OutputStream os = null; try { System.out.println(name); SystemParameter systemParameter = (SystemParameter) getRequest() .getSession().getServletContext() .getAttribute("systemParameter"); String path = systemParameter.getFilePath() + url ; String houzui = name.substring(name.lastIndexOf("("), name.length()); if (houzui.equals("(空白)")) { name=name.substring(0, name.indexOf("(")); } if (name.equals("流程圖")) { name="liuchen"; } // 檢查文件是否存在 File f = new File(path, name+ ext); if (f.exists()) { System.out.println(f.getAbsolutePath()); System.out.println(f.getName()); String newName = path + name + "old_" + time

    • ext;

    System.out.println(newName); boolean is = f.renameTo(new File(newName)); if (is == false) { f.renameTo(new File(path + name + ext));

    return false; } else { // 如果存在,在讀一次改過文件的名字,如果新的名字不存在,就提示上傳失敗 File file = new File(newName); if (!file.exists()) { return false; } } } input = new FileInputStream(file);

    os = new FileOutputStream(f); byte[] by = new byte[1024]; int length = input.read(by); while (length != -1) { os.write(by, 0, length); length = input.read(by); } return true; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { try { if (input != null) input.close(); if (os != null) os.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }</pre>

 本文由用戶 n42g 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!