亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

artDialog+plupload實現多文件上傳

2019-11-20 09:26:55
字體:
來源:轉載
供稿:網友

Plupload簡介

Plupload是有TinyMCE的開發者開發的,為您的內容管理系統或是類似上傳程序提供一個高度可用的上傳插件。Plupload 目前分為一個核心API 和一個jQuery上傳隊列部件,這樣使你可以直接使用或是自己定制。

一、效果展示

包括文件上傳面板以及文件上傳列表

二、介紹

長話短說,采用spring springMVC mybatis maven mysql,實現多文件上傳功能,下載使用的是流的形式。

其中涉及的分頁我會另開一片博客介紹。

三、準備材料

plupload

artDialog

還有一份初始化插件的js文件

這些可以直接從我的分享連接里面下載

鏈接:http://pan.baidu.com/s/1c27cTAK 密碼:btqj

還有jquery 這個自行下載

四、前臺代碼

引入樣式以及js文件

<link rel="stylesheet" href="resources/css/plupload.css" type="text/css"><script src="resources/js/jquery.min.js"></script><script src="resources/upload/plupload.full.min.js"></script><script src="resources/artDialog4.1.7/artDialog.source.js?skin=blue"></script><script src="resources/js/upload.js"></script>

js代碼

  _plupload(綁定的uuid,文件上傳路徑);①關于綁定的uuid,我舉個例子,當前用戶的id就是uuid,你可以把用戶id和你上傳的文件相關聯,以后查詢的話根據用戶id就能查詢這個用戶上傳的所有文件②這個方法是封裝過的,在upload.js里面能看到,我里面注釋寫的很清楚,也可以參考官方文檔

$(function() {  3   $('#uploadBtn').click(function() {   popUpDialog();  });  _plupload('test','${pageContext.request.contextPath}/uploadfile'); });

頁面代碼,一個按鈕,一個彈出框

<a id="uploadBtn" class="optionbtn inline" href="#">文件上傳</a> <!-- 觸發彈出框 --> <div id="uploadContent" style="display: none; height: 300px; overflow-x: hidden; overflow-y: auto;">  <div id="choosefile">   <span>單個文件支持小于100M</span><br /> <a id="uploadify" href="javascript:void(0);">選擇文件</a>  </div>  <div id="uploadfileQueue" style="border: 1px solid #a7c5e2; height: 228px; width: 350px;"></div> </div> <pre id="console"></pre>

五、后臺代碼

我都沒有封裝成方法,為了看得明白,可以自己封裝一下

/**  * 文件上傳請求地址  *   * @param request  * @param response  */ @RequestMapping("uploadfile") public void upload(HttpServletRequest request, HttpServletResponse response) {  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;// 二進制上傳  CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");// 獲取文件  String unid = UUID.randomUUID().toString().replace("-", "");/* 文件主鍵 */  String originalFilename = file.getOriginalFilename();/* 原文件名,包括后綴 */  String flieSize = String.valueOf(file.getSize());/* 文件大小 */  String path = null;/* 文件存儲路徑 */  String punid = request.getParameter("punid"); /* 關聯文件punid */  // 保存文件  if (file != null) {   try {    String basePath = request.getSession().getServletContext().getRealPath("/uploadfile");    SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/");    String subPath = sdf.format(new Date());    path = basePath + subPath + unid + File.separator + originalFilename;    // 如果文件夾不存在,就創建文件夾    File dir = new File(path);    if (!dir.exists()) {     dir.mkdirs();    }    file.transferTo(dir);   } catch (Exception e) {    e.printStackTrace();   }  }  // 文件大小轉換  long kb = 1024;  long mb = kb * 1024;  long gb = mb * 1024;  long size = Long.parseLong(flieSize);  if (size >= gb) {   flieSize = String.format("%.1f GB", (float) size / gb);  } else if (size >= mb) {   float f = (float) size / mb;   flieSize = String.format(f > 100 ? "%.0f MB" : "%.1f MB", f);  } else if (size >= kb) {   float f = (float) size / kb;   flieSize = String.format(f > 100 ? "%.0f KB" : "%.1f KB", f);  } else {   flieSize = String.format("%d B", size);  }  // 存儲文件信息進數據庫  FileUpload fileUpload = new FileUpload();  fileUpload.setUnid(unid);  fileUpload.setOriginalFilename(originalFilename);  fileUpload.setFlieSize(flieSize);  fileUpload.setPath(path);  fileUpload.setPunid(punid);  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  fileUpload.setFlieTime(df.format(new Date()));  fileUploadService.insert(fileUpload); }

 這里附帶一個下載的方法,是用文件流,根據文件id來進行下載

@RequestMapping("downloadfile") public void downLoadfile(HttpServletRequest request, HttpServletResponse response) {  String unid = request.getParameter("unid");  FileUpload fileUpload = fileUploadService.selectByPrimaryKey(unid);  if (fileUpload != null) {   try {    String filename = new String(fileUpload.getOriginalFilename().getBytes("GBK"), "ISO-8859-1");    String path = fileUpload.getPath();    response.setCharacterEncoding("utf-8");    response.setContentType("application/octet-stream");    response.setHeader("Content-Disposition", "attachment;fileName=" + filename);    response.setHeader("Content-Length", fileUpload.getFlieSize());     InputStream inputStream = new FileInputStream(new     File(path));     OutputStream os = response.getOutputStream();     byte[] b = new byte[2048];     int length;     while ((length = inputStream.read(b)) > 0) {     os.write(b, 0, length);     }     os.close();     inputStream.close();   } catch (FileNotFoundException e) {    e.printStackTrace();   } catch (IOException e) {    e.printStackTrace();   }  } }

還有一個刪除方法

/**  * 文件刪除  *   * @param request  * @param response  */ @ResponseBody @RequestMapping("delfile") public Map<String, Object> delfile(HttpServletRequest request, HttpServletResponse response) {  String unid = request.getParameter("unid");  FileUpload fileUpload = fileUploadService.selectByPrimaryKey(unid);  // 刪除本地  boolean flag = false;  File file = new File(fileUpload.getPath());  if (file.exists()) {// 路徑為文件且不為空則進行刪除   flag = file.delete();  }  // 刪除數據庫  int result = fileUploadService.deleteByPrimaryKey(unid);  if (result > 0) {   flag = true;  }  Map<String, Object> map = new HashMap<String, Object>();  map.put("result", flag);  return map; }

以上所述是小編給大家介紹的artDialog+plupload實現多文件上傳,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人国产亚洲精品a区天堂华泰| 裸体女人亚洲精品一区| 精品久久久久久中文字幕一区奶水| 成人黄色在线免费| 97精品一区二区三区| 国产视频欧美视频| 欧美刺激性大交免费视频| 亚洲国内精品视频| 91美女福利视频高清| 成人免费网站在线观看| 亚洲综合日韩中文字幕v在线| 国产精品wwww| 九九久久久久99精品| 精品一区二区三区电影| 久久久精品一区二区| 国产午夜一区二区| 国产欧美精品在线播放| 91精品国产自产在线观看永久| 国产视频精品在线| 久久精品国产清自在天天线| 久久精品中文字幕电影| 91手机视频在线观看| 国产精品扒开腿做| 在线播放国产一区中文字幕剧情欧美| 日韩一级裸体免费视频| 亚洲精品网站在线播放gif| 国产精品久久久久久久天堂| 91天堂在线观看| 国产亚洲精品久久久久动| 9.1国产丝袜在线观看| 久久夜色精品国产亚洲aⅴ| 日韩在线视频线视频免费网站| 欧美视频中文在线看| 97免费在线视频| 国产精品久久久久久av| 久久亚洲精品一区二区| 亚洲欧美制服另类日韩| 日韩三级成人av网| 在线播放亚洲激情| 国内免费久久久久久久久久久| 91影视免费在线观看| 日韩视频免费在线| 日韩免费精品视频| 久久久久久久av| 亚洲小视频在线| 日韩欧美一区二区三区| 91免费观看网站| 欧美丝袜第一区| 亚洲丝袜在线视频| 亚洲欧美综合精品久久成人| 在线电影欧美日韩一区二区私密| 久久中文久久字幕| 国产剧情日韩欧美| 精品久久久久久中文字幕大豆网| 色综合久久久888| 日韩国产欧美精品在线| 亚洲午夜性刺激影院| 理论片在线不卡免费观看| 午夜精品一区二区三区av| 国内精久久久久久久久久人| 91精品久久久久久久久不口人| 91精品国产高清| 在线观看免费高清视频97| 亚洲一品av免费观看| 羞羞色国产精品| 亚洲free嫩bbb| 中日韩午夜理伦电影免费| 青草青草久热精品视频在线网站| 日韩视频免费看| 黄色一区二区在线观看| 亚洲午夜精品久久久久久性色| 亚洲最新中文字幕| 久久精品91久久香蕉加勒比| 欧美丰满老妇厨房牲生活| 成人在线国产精品| 一本一道久久a久久精品逆3p| 日韩欧美福利视频| 日本免费在线精品| 日韩毛片在线观看| 91久久久久久久一区二区| 黄网动漫久久久| 亚洲久久久久久久久久| 色婷婷成人综合| 日韩av成人在线观看| 国产精品视频白浆免费视频| 日韩电影在线观看永久视频免费网站| 欧美成人免费一级人片100| 97久久国产精品| 日韩69视频在线观看| 精品久久久香蕉免费精品视频| 国产精品香蕉在线观看| 欧美韩日一区二区| 欧美日韩免费观看中文| 亚洲性线免费观看视频成熟| 色综合老司机第九色激情| www.国产一区| 青青草原成人在线视频| 国产精品美女久久| 国产精品久久久av久久久| 精品女厕一区二区三区| 97av在线播放| 国产精品久久久久免费a∨大胸| 日韩中文娱乐网| 91免费视频网站| 亚洲国产97在线精品一区| 久久精品欧美视频| 国产剧情日韩欧美| 色偷偷噜噜噜亚洲男人的天堂| www.亚洲天堂| 亚洲a级在线观看| 日韩电影网在线| 午夜免费日韩视频| 在线亚洲欧美视频| 久久久久久久网站| 在线观看精品自拍私拍| 精品亚洲va在线va天堂资源站| 久久激情视频免费观看| 亚洲国产精品成人一区二区| 久久久999国产精品| 亚洲国产精品大全| 精品国偷自产在线视频| 亚洲久久久久久久久久| 一本一本久久a久久精品牛牛影视| 亚洲级视频在线观看免费1级| 韩国19禁主播vip福利视频| 91国自产精品中文字幕亚洲| 久久久成人的性感天堂| 欧美午夜激情小视频| 精品国产31久久久久久| 亚洲另类欧美自拍| 亚洲第一福利网| 2023亚洲男人天堂| 亚洲在线www| 亚洲最大福利视频网| 成人国产精品久久久久久亚洲| 亚洲一区国产精品| 国产午夜精品一区理论片飘花| 久久人人爽亚洲精品天堂| 久久这里有精品| 亚洲欧美变态国产另类| 国产一区二区三区精品久久久| 国产精品爽爽爽爽爽爽在线观看| 亚洲石原莉奈一区二区在线观看| 日韩精品视频免费| 奇米成人av国产一区二区三区| 日韩最新在线视频| 欧美www视频在线观看| 国产欧美日韩中文| 日本免费久久高清视频| 亚洲美女精品成人在线视频| 国产精品自在线| 精品人伦一区二区三区蜜桃免费| 亚洲激情在线观看视频免费| 国产精品国产三级国产专播精品人| 中文字幕亚洲无线码a| 亚洲精品黄网在线观看| 中文字幕亚洲一区| 国产精品久久999| 国产日韩在线观看av| 国产欧美精品一区二区三区-老狼| 欧美裸体男粗大视频在线观看| 国产精品第一视频| 色婷婷综合久久久久中文字幕1| 久久精品小视频|