91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java文件上傳下載代碼實例

發布時間:2020-10-17 10:17:47 來源:腳本之家 閱讀:391 作者:弓長張&木子李 欄目:編程語言

本文實例為大家分享了java文件上傳下載的具體代碼,供大家參考,具體內容如下

文件上傳

@RequestMapping(value="/uploadFile",method=RequestMethod.POST)
 public ResultObject uploadFiles(@RequestParam("file")MultipartFile file,HttpServletRequest request){
    ResultObject rs = null;//返回上傳完成信息
    String uploadDir = "files";//上傳目錄,文件保存在webapp下的files文件中
   if(!file.isEmpty()) {
     //可以對user做一些操作如存入數據庫
     //以下的代碼是將文件file重新命名并存入Tomcat的webapp目錄下項目的下級目錄
     String fileRealName = file.getOriginalFilename();          //獲得原始文件名;
     /*int pointIndex = fileRealName.indexOf(".");            //點號的位置
     String fileSuffix = fileRealName.substring(pointIndex);       //截取文件后綴
     UUID FileId = UUID.randomUUID();            //生成文件的前綴包含連字符
     String savedFileName = FileId.toString().replace("-", "").concat(fileSuffix);    //文件存取名
     */
     
     String savedDir = request.getSession().getServletContext().getRealPath(uploadDir); //獲取服務器指定文件存取路徑
     File savedFile = new File(savedDir, fileRealName);
     boolean isCreateSuccess;
     try {
       isCreateSuccess = savedFile.createNewFile();
       if (isCreateSuccess) {

         file.transferTo(savedFile); //轉存文件
         rs = ResultObject.getSuccessResult("上傳文件成功");
         Long size = file.getSize();//獲取文件大小


         rs.setData(uploadDir+fileRealName);
       }else{
         rs = ResultObject.getFailResult("請修改文件名,重新上傳");
       }
     } catch (IOException e) {
       e.printStackTrace();
     }
   }else{
     rs = ResultObject.getFailResult("文件不能為空");
   }
   return rs;
 }

文件下載

@RequestMapping(value = "/filterPermission/appDownLoad", method = RequestMethod.GET)
  public void appDownLoad(HttpServletRequest request, HttpServletResponse response) {
    //url是上面文件上傳的url
    download(url,request,response);
  }
public String download(String filePath, HttpServletRequest request, HttpServletResponse response) {
    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;
    try {
      //獲取文件名
      String fileName = filePath.substring(filePath.lastIndexOf("/")+1);
      response.setCharacterEncoding("utf-8");
      response.setContentType("application/octet-stream");
      //response.setContentType("application/force-download");
      //處理下載彈出框名字的編碼問題
      response.setHeader("Content-Disposition", "attachment;fileName="
          + new String( fileName.getBytes("gb2312"), "ISO8859-1" ));
      //獲取文件的下載路徑
      String path = request.getSession().getServletContext().getRealPath(filePath);
      //利用輸入輸出流對文件進行下載
      InputStream inputStream = new FileInputStream(new File(path));
      //設置文件大小
      response.setHeader("Content-Length", String.valueOf(inputStream.available()));

      bis = new BufferedInputStream(inputStream);//構造讀取流
      bos = new BufferedOutputStream(response.getOutputStream());//構造輸出流
      byte[] buff = new byte[1024];
      int bytesRead;
      //每次讀取緩存大小的流,寫到輸出流
      while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
        bos.write(buff, 0, bytesRead);
      }
      response.flushBuffer();//將所有的讀取的流返回給客戶端

    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }finally{
      try{
        if(null != bis){
          bis.close();
        }
        if(null != bos){
          bos.close();
        }
      }catch(IOException e){
        System.out.println("下載文件失敗,"+"文件路徑:"+filePath+e);
        logger.error("文件下載失敗!", e);
      }
    }
    // 返回值要注意,要不然就出現下面這句錯誤!
    //java+getOutputStream() has already been called for this response
    return null;
  }

以上所述是小編給大家介紹的java文件上傳下載詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

读书| 行唐县| 泰兴市| 东宁县| 淅川县| 五莲县| 上高县| 梨树县| 营口市| 遂溪县| 东宁县| 工布江达县| 拜泉县| 尼勒克县| 稻城县| 芜湖县| 潞西市| 奈曼旗| 思南县| 海兴县| 团风县| 岑巩县| 锡林浩特市| 平阴县| 方城县| 潢川县| 南安市| 滁州市| 兴城市| 运城市| 高雄市| 新晃| 彝良县| 荆州市| 原阳县| 北宁市| 嘉义县| 绵竹市| 进贤县| 蒙自县| 寿光市|