利用SmartUpload文件上傳,創建目錄,刪除文件等操作範例

新建不存在的上傳目錄

<%!
      String Mkdir(String path) {

      String msg=null;
      java.io.File dir;

// 新建文件對象
      dir =new java.io.File(path);
      if (dir == null) {
         msg = "錯誤原因:<BR>對不起,不能創建空目錄!";
         return msg;
      }
      if (dir.isFile()) {
         msg = "錯誤原因:<BR>已有同名文件<B>" + dir.getAbsolutePath() + "</B>存在。";
         return msg;
      }

      if (!dir.exists()) {
         boolean result = dir.mkdirs();
         if (result == false) {
            msg = "錯誤原因:<BR>目錄<b>" + dir.getAbsolutePath() + "</B>創建失敗,原因不明!";
            return msg;
         }
// 如果成功創建目錄,則無輸出。
       msg ="成功創建目錄: <B>" + dir.getAbsolutePath() + "</B>";
       return msg;
      }else {
              msg = "錯誤原因:<BR>目錄<b>" + dir.getAbsolutePath() + "</b>已存在。";
      }
       return msg;
      }

   String doc = "/upload/urllist/";
   String path = request.getRealPath("");
      char[] charArray = path.toCharArray();
      int charToint = 0;
      for (int i = 0; i < charArray.length; i++) {
        charToint = charArray[i];
        if (92 == charToint) {
          charArray[i] = 47;
        }
      }
      path = new String(charArray);//
   path=path+doc;
   Mkdir(path);
%>

利用SmartUpload上傳文件

//文件上傳部分代碼
mySmartUpload.initialize(pageContext);
mySmartUpload.setTotalMaxFileSize(104857600);//MaxSize=100M
mySmartUpload.upload();

String filename = "";
String sPic = ""; //文件鏈接地址
int fileLength = 0;
String fileSuffix = "";

com.jspsmart.upload.Files myFiles = mySmartUpload.getFiles();
 com.jspsmart.upload.File myFile = myFiles.getFile(0);
 
 //如果就一個上傳文件,可以直接用下面的方法獲得:
 //com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);

  if(!myFile.isMissing()){
    filename = myFile.getFileName();
    
    //realFileName = filename;//真實文件名稱

          fileLength = filename.length();
          int index = filename.lastIndexOf(".");
          if(index != -1){
                fileSuffix = filename.substring(index, fileLength);
            }
 
          filename = fileSuffix;

          sPic = doc + filename;    //文件鏈接地址
    myFile.saveAs(sPic);
  }else{
     sPic="";
  }

根據查詢條件批量刪除文件

public void delAllUrl(String path)throws Exception{
  char[] charArray = path.toCharArray();
       int charToint = 0;
       for (int i = 0; i < charArray.length; i++) {
         charToint = charArray[i];
         if (92 == charToint) {
           charArray[i] = 47;
         }
       }
       path = new String(charArray);//項目在windows下的路徑
      
       String sql="select 鏈接地址 from XXXX where deltype='1'";
       ArrayList fileUrl = dbconn.queryListAsHashMap(sql);
       HashMap map = new HashMap();
       String fileUrlStr = "";
       String fileUrlOutStr = "";
       for(int i=0;i<fileUrl.size();i++){
    map=(HashMap)fileUrl.get(i);
    fileUrlStr=(String)map.get("鏈接地址");
    fileUrlStr=fileUrlStr.trim();
    fileUrlOutStr=path+fileUrlStr;
    fileUrlOutStr = fileUrlOutStr.replaceAll("/", "//");
         File f = new File(fileUrlOutStr);
         if (f.exists()) { //檢查File.txt是否存在
     f.delete();
         }
   }
 } 

僅作自己參考,如果需要引用,請自行修改代碼,不過代碼主體都在這裏了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章