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

首頁 > 開發 > Java > 正文

java實現多文件上傳至本地服務器功能

2024-07-13 10:16:35
字體:
來源:轉載
供稿:網友

博主最近在做一個內網項目,內部可以訪問外部數據,但是外部訪問不了內部數據,這也就造成了可能文件無法上傳,所以博主另辟蹊徑,在本地服務器上建立一個文件夾專門用來存儲上傳數據。

環境:jdk,tomcat

一、前臺上傳文件(ajax上傳)

<input type="file" name="annexUrl" id="annexUrl" multiple="multiple"/> 

其中multiple=“multiple”,設置文件多上傳

function uploadFile() {   var files = document.getElementById("annexUrl").files;   if (files.length != 0) {    var formData = new FormData();    for (var i = 0; i < files.length; i++) {     var file = files[i];     formData.append(file.name, file);    }    $.ajax({     url: 'cdc/public/saveFiles',     type: 'POST',     cache: false,     data: formData,     //這個參數是jquery特有的,不進行序列化,因為我們不是json格式的字符串,而是要傳文件     processData: false,     //注意這里一定要設置contentType:false,不然會默認為傳的是字符串,這樣文件就傳不過去了     contentType: false,     success: function (data) {      save(data.data);     }    });   } else {    save();   }  } 

這里需要使用到formData對象用來封裝file文件對象,save()方法是用來保存上傳之后返回過來的文件路徑,保存到數據庫,便于下載。

二、后臺接收文件,并上傳至服務器

// 多文件上傳,返回一個對象集合(附件地址,名稱)  @RequestMapping(value = "saveFiles", method = RequestMethod.POST)  @ResponseBody  public JSONObject saveFiles(HttpServletRequest request, HttpServletResponse response) {   JSONObject jsonObject = new JSONObject();   try {    request.setCharacterEncoding("UTF-8");   } catch (UnsupportedEncodingException e) {    e.printStackTrace();   }   Collection<Part> parts = null;   try {    parts = request.getParts();   } catch (IOException e) {    e.printStackTrace();   } catch (ServletException e) {    e.printStackTrace();   }    Iterator<Part> iterator = parts.iterator(); //  名稱集合,返回給前臺   List<String> list = new ArrayList<>();   while (iterator.hasNext()) {    Part part = iterator.next();    // 生成實際存儲的真實文件名(唯一) //   不知道為什么,文件上傳必須得包含獲取到的文件名,否則報文件名、目錄名或卷標語法不正確,圖片上傳沒有這種限制 //   文件名,保存導數據庫,用來界面顯示    String name = part.getName();    String realName = UUID.randomUUID().toString() + name;     list.add(name + "&&" + realName);    ///home/tomcat/apache-tomcat-9.0.1/files    String realPath = "D:" + File.separator + "apache-tomcat-8.5.15" + File.separator + "files";    // String realPath = "C:" + File.separator + "XHJ224" + File.separator + "software" + File.separator + "apache-tomcat-9.0.1" + File.separator + "files"; //    String realPath = File.separator + "home" + File.separator + "tomcat" + File.separator + "apache-tomcat-9.0.1" + File.separator + "files";    File file = new File(realPath);    //如果目錄不存在    if (!file.isDirectory()) {     //創建文件上傳目錄     file.mkdirs();    }    // 文件存放的真實路徑    String filePath = realPath + File.separator + realName;    try {     part.write(filePath);    } catch (IOException e) {     e.printStackTrace();    }   }   jsonObject.put("data", list);   return jsonObject;  } 

其中list集合添加了一個由文件名和真實文件名拼接的字符串,后期save需要。realName是為了防止多上傳文件名沖突,realPath是文件保存路徑,不同的操作系統有不同的路徑,realPath最好放在tomcat下,便于項目移植。

其中File.separator為路徑分隔符,他能自動識別是哪個操作系統而使用不同的路徑分隔符(windows是‘/',linux是‘/')。最后將list返回給前臺。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九精品在线观看| 亚洲一区第一页| 欧美日韩国产在线播放| 一本久久综合亚洲鲁鲁| 国产香蕉97碰碰久久人人| 国产视频观看一区| 成人午夜一级二级三级| 97国产精品免费视频| 这里只有精品视频| 国产区亚洲区欧美区| 91国内在线视频| 久久精品视频在线观看| 欧美黑人性猛交| 国产一区私人高清影院| 国产精品美女久久久久av超清| 久久精品最新地址| 97福利一区二区| 欧美激情奇米色| 亚洲精品在线看| 免费av在线一区| 国产男人精品视频| 久久亚洲国产成人| 久久国产精品久久久久久久久久| 中文字幕在线观看亚洲| 欧美亚洲激情在线| 国产精品成人免费视频| 超薄丝袜一区二区| 亚洲免费av电影| 国外成人性视频| 91福利视频在线观看| 91精品国产高清久久久久久久久| 中文字幕欧美精品日韩中文字幕| 久久99国产精品久久久久久久久| 亚洲精品suv精品一区二区| 国内精品伊人久久| 久久久视频免费观看| 国产日韩欧美日韩| 亚洲第一色中文字幕| 成人午夜两性视频| 亚洲激情第一页| 亚洲综合最新在线| 国产精品扒开腿爽爽爽视频| 欧美一区三区三区高中清蜜桃| 色妞在线综合亚洲欧美| 国产精品对白刺激| 久久影院资源站| 欧美国产日本高清在线| 亚洲少妇中文在线| 欧美视频免费在线| 欧美电影免费观看高清完整| 欧美一区深夜视频| 亚洲自拍偷拍视频| 国产欧美va欧美va香蕉在| 一区二区三区美女xx视频| 亚洲精品久久久久中文字幕欢迎你| 日韩av日韩在线观看| 日韩视频免费大全中文字幕| 91久久国产精品91久久性色| 日韩欧美国产一区二区| 日韩中文av在线| 欧美专区在线播放| 久久香蕉国产线看观看网| 在线日韩av观看| 高清在线视频日韩欧美| 久久在线免费观看视频| 中文字幕日韩av电影| 亚洲天堂av在线免费| 久久影院免费观看| 久久精品成人欧美大片| 欧美视频专区一二在线观看| 日韩a**中文字幕| 91精品国产高清久久久久久久久| 91国语精品自产拍在线观看性色| 亚洲欧美资源在线| 国产精品久久久久久一区二区| 亚洲日本中文字幕免费在线不卡| 欧美日韩另类视频| 久久影院资源网| 亚洲伊人一本大道中文字幕| 成人av在线网址| 奇米一区二区三区四区久久| 欧美性xxxx极品hd欧美风情| 日韩免费av片在线观看| 欧美日韩国产中文精品字幕自在自线| 91福利视频在线观看| 国产欧美精品在线播放| 亚洲精品电影在线| 欧美亚洲另类视频| 日韩在线观看免费全集电视剧网站| 欧美精品18videos性欧美| 欧美一区二区视频97| 欧美高跟鞋交xxxxxhd| 韩国三级电影久久久久久| 国产精品高潮呻吟久久av无限| 日韩网站免费观看高清| 亚洲久久久久久久久久久| 亚州成人av在线| 在线播放精品一区二区三区| 黑人巨大精品欧美一区免费视频| 黑人精品xxx一区一二区| 成人免费在线视频网站| 亚洲91av视频| 久久成人精品电影| 欧美日韩视频免费播放| 欧美xxxx做受欧美.88| 欧美精品xxx| 日韩精品在线观看一区二区| 午夜精品久久久久久久99黑人| 亚洲精品一区中文字幕乱码| 国产精品网红福利| 一区三区二区视频| 少妇高潮 亚洲精品| 日韩欧美在线观看| 欧美精品久久久久久久| 国产亚洲精品一区二555| 久久久久女教师免费一区| 国产精品国产亚洲伊人久久| 欧美中文在线免费| …久久精品99久久香蕉国产| 国产丝袜视频一区| 亚洲天堂第二页| 亚洲一区二区中文| 日韩中文字在线| 亚洲欧美在线磁力| 国产精品久久97| 国产一区欧美二区三区| 91成人福利在线| 日韩美女福利视频| 久久综合网hezyo| 日韩av免费一区| 亚洲男人的天堂在线播放| 26uuu另类亚洲欧美日本一| 欧美一级视频一区二区| 亚洲大尺度美女在线| 国产91精品不卡视频| 亚洲欧美日韩中文在线| 久久久www成人免费精品| 久久久国产精彩视频美女艺术照福利| 国内精品视频一区| 91中文精品字幕在线视频| 日本亚洲欧洲色α| 久久在线精品视频| 日韩av影片在线观看| 久久国内精品一国内精品| 欧美大尺度激情区在线播放| 久久99久国产精品黄毛片入口| 精品久久久国产| 久久色免费在线视频| 国产成人福利夜色影视| 日韩小视频在线观看| 国产精品嫩草影院久久久| 欧美一区二区三区免费视| 亚洲系列中文字幕| 国产脚交av在线一区二区| 在线视频国产日韩| 国产精品视频xxx| 国产成人精品视| 国产精品一香蕉国产线看观看| 亚洲综合色av| 97超碰色婷婷| 午夜精品一区二区三区视频免费看| 国产精品三级久久久久久电影| 在线亚洲午夜片av大片| 日韩网站免费观看|