SpringMVC檔案的上傳下載及資料庫EXCEL匯出
前段時間要做檔案的上傳下載,現在把它寫出來,供大家分享
首先是excel匯出資料庫
@RequestMapping("/exportCustomer") public void exportCustomer(ModelMap model,HttpServletRequest request,HttpServletResponse response) { SysUser models = UserHelper.getCurrentUser(); //TODO 如需新增條件 //model.addAttribute("username", nameStr); //獲取需要匯出的資料List // List<CMcustomer> cusList=customerService.exportCustomer(model); // List<Units> cusList = unitsService.zTreeAll(models.getId()); List<Units> all = unitsService.getAll(); //使用方法生成excle模板樣式 HSSFWorkbook workbook = unitsService.createExcel(all, request); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); // 定義檔名格式 try { //定義excle名稱 ISO-8859-1防止名稱亂碼 String msg = new String( ("組織機構資訊_" + format.format(new Date()) + ".xls").getBytes(), "ISO-8859-1"); // 以匯出時間作為檔名 response.setContentType("application/vnd.ms-excel"); response.addHeader("Content-Disposition", "attachment;filename=" + msg); ServletOutputStream outputStream = response.getOutputStream(); workbook.write(response.getOutputStream()); } catch (IOException e) { // log.error(e); e.getStackTrace(); } }
然後是檔案的上傳功能
@RequestMapping(value="/formExcel",method = RequestMethod.POST) @ResponseBody public String formExcel( MultipartFile upExcel ){ try { String originalFilename = upExcel.getOriginalFilename(); if(originalFilename==null){ return "請選擇要上傳的檔案"; } String uploadPath = "upload/document"+ "/" + UUID.getUUID() + originalFilename.substring(originalFilename.lastIndexOf(".")); FileStorageHelper.transferFile(upExcel.getInputStream(), uploadPath); Document document = new Document(); document.setUrl(uploadPath); documentService.save1(document); return "上傳檔案成功"; } catch (Exception e) { e.printStackTrace(); return "匯入檔案失敗"; } }
最後是檔案下載
檔案的下載可以自己選擇要下載的位置/** * 下載檔案 * @param urldata 檔案路徑 * @param response */ @RequestMapping("/download") public void download(String urldata,HttpServletResponse response){ String rootPath = SpringMVCUtil.getRequest().getSession().getServletContext().getRealPath("/");// 獲取專案根目錄 try { File file = new File(rootPath+urldata);// path是根據日誌路徑和檔名拼接出來的 String filename = file.getName();// 獲取日誌檔名稱 InputStream fis = new BufferedInputStream(new FileInputStream(rootPath+urldata)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); response.reset(); // 先去掉檔名稱中的空格,然後轉換編碼格式為utf-8,保證不出現亂碼,這個檔名稱用於瀏覽器的下載框中自動顯示的檔名 response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"),"iso8859-1")); response.addHeader("Content-Length", "" + file.length()); OutputStream os = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); os.write(buffer);// 輸出檔案 os.flush(); os.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
前臺頁面要這樣請求下載的地址
//下載
function updateLoad(id,name) {
$.ajax({
type:"POST",
url:"/Document/download",
data:{"urldata":id},
success:function(msg){
window.open('/Document/download?urldata='+id);
}
});
// alert(id);
}
這就是基本的程式碼篇了,歡迎互相交流
相關推薦
SpringMVC檔案的上傳下載及資料庫EXCEL匯出
前段時間要做檔案的上傳下載,現在把它寫出來,供大家分享 首先是excel匯出資料庫 @RequestMapping("/exportCustomer") public void expor
POI 實現 Excel 檔案上傳下載及大資料匯出處理
Java 中操作 Excel 的有兩種比較主流的工具包: JXL 和 POI 。JXL 只能操作 Excel 95、97、2000 等老版本格式資料,也即以 .xls 為字尾的 excel。而 POI 可以操作 Excel 95 及以後的版本,即可操作字尾為 .xls 和 .
JspSmartUpload 實現檔案上傳下載及Mysql實現分頁
一、寫在前面 這篇文章主要是分享使用JspSamrtUpload實現多檔案的上傳下載功能,及使用Mysql資料庫的 limit 函式實現檔案顯示列表的分頁顯示功能。 二、需要的jar包 下載後把它複製到web的lib目錄下即可。 三、關鍵程式碼 3.1 多檔案上傳前
springmvc檔案上傳/下載
檔案上傳 1,配置檔案上傳解析器 在springmvc-servlet.xml中配置 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.Commons
簡單的node檔案上傳下載及中文亂碼問題解決
1. 基於MEAN的技術棧,使用restful風格的介面2. 在前端程式碼中放置檔案上傳按鈕和處理表單資料<div class="upload-file btn btn-sm btn-primary mb-2"> <span><i class
檔案上傳下載及自己封裝jar包
檔案上傳下載及jar包封裝 表單要求 對於表單上傳,要求使用post請求方式,並且 enctype必須是如下型別 method="post" enctype="multipart/form-data" 上傳程式碼 當表單中的型別指定為mul
SpringMVC檔案上傳下載(單檔案、多檔案)
## 前言 大家好,我是bigsai,今天我們學習Springmvc的檔案上傳下載。 檔案上傳和下載是網際網路web應用非常重要的組成部分,它是資訊互動傳輸的重要渠道之一。你可能經常在網頁上傳下載檔案,你可能也曾沉浸於網際網路技術的神祕,而本篇就為你解開它神祕的面紗。 >本文已收錄在公眾號:`bi
SpringMVC教程3【檔案上傳下載,靜態資源處理及資料校驗】
一,檔案上傳 web.xml配置通用 <?xml version="1.0" encoding=&q
SpringMVC檔案上傳和下載
1. 檔案上傳 SpringMVC通過MultipartResolver來實現檔案上傳,預設沒有裝配,使用MultipartResolver需要加上commons-fileupload這個jar包。 1.1 配置MultipartResolver <!--配置上傳檔案控制元
easyPoi實現Excel檔案上傳下載
easyPoi 官方API http://easypoi.mydoc.io/ pom引入 <dependency> <groupId>cn.afterturn</groupId> <
SpringMVC筆記八之檔案上傳下載
一、檔案上傳 1、普通檔案上傳 新建頁面WebContent/file.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
SpringBoot:SpringMVC檔案上傳及Ajax非同步
一、使用Spring框架中的MultipartFile實現後臺程式碼邏輯處理 1. MultipartFile API 如下: 2. 後臺邏輯程式碼 @Controller public class FileUploadController { //檔案上傳 @Re
springmvc請路徑引數,springmvc-json-ajax使用,springmvc檔案上傳,springmvc檔案下載,springmvc攔截器(內容較多)
按照操作,絕對都可以實現,親測。。。。。(專案所有檔案和目錄結構全都放上去了) idea工具,建立maven專案 第一步: 放置各種配置檔案: pom.xml <?xml version="1.0" encoding="UTF-8"?> <p
Springmvc檔案上傳例子,上傳帶圖片的Excel,並利用poi解析。
直奔主題,第一步:上傳一個帶圖片的Excel。第二步:解析該Excel檔案,得到Excel資料和圖片。 1.pom.xml <!-- 檔案上傳 --> <dependency> <groupId>commons-
Springmvc檔案上傳(servlet3.0)/下載(ssm)以及坑點
以前在servlet上寫過檔案上傳和檔案下載,最近由於需求需要集合到ssm中,有些坑點以前都忘記了。 檔案上傳:檔案上傳首先要在xml中配置上傳資訊,ssm有強大的過濾功能,你不宣告讓某種型別進來他是進不來的,我是用的是servlet3.0的part上傳檔案,
利用FtpClient實現上傳下載及獲得檔案目錄
sun程式碼中有個FtpClient,雖然沒有把它用做公開的工具包,但我們也還是可以拿它來利用一下. Java程式碼 1./** 2. * FTP檔案上傳與下載 3. * notice: 4. * 之所以每次都要連線一次ftp是讓它的目錄重新返回到
SpringMVC——實現檔案上傳下載
一、檔案上傳 1.引入依賴包 在pom.xml檔案中新增如下內容,引入 commons-fileupload 和 commons-io 兩個包。 <dependency> <groupId>commons-f
SSM框架-SpringMVC 例項檔案上傳下載
目錄(?)[+] 本文詳細講解了SpringMVC例項單檔案上傳、多檔案上傳、檔案列表顯示、檔案下載。 一、新建一個Web工程,匯入相關的包 springmvc的包+commons-fileupload.jar+connom-io.jar+com
Struts2+poi實現Excel檔案上傳並插入資料庫的操作
Struts.xml部分 <package name="com.crm.workbench.activity" namespace="/activity" extends="struts-default,json-default"> <a
使用springmvc 和nginx 搭建一個檔案上傳下載伺服器
public final class FileUploadUtil { public static JSONObject upload(String httpurl, String fileName, InputStream inputStream) { String result