日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

發布時間:2023/12/18 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參與該項目的文件上傳和下載。一旦struts2下完成,今天springmvc再來一遍。發現springmvc特別好包,基本上不具備的幾行代碼即可完成,下面的代碼貼:


FileUpAndDown.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Upload to upload file</title> </head> <script type="text/javascript"> function downFile(){var fileId = document.getElementById("fileId").value;location.href="fileDownload?fileId=" + fileId; } </script> <style> * {font-family: "宋體";font-size: 14px } </style> <body><p align="center">文件上傳下載</p><form id="form1" name="form1" method="post" action="fileUpload" enctype="multipart/form-data"><table border="0" align="center"><tr><td>上傳文件:</td><td><input name="file" type="file" size="20"></td></tr><tr><td></td><td><input type="submit" value="提交"> <input type="reset" name="reset" value="重置"></td></tr></table></form><div align="center"><input type="text" id="fileId"><input type="button" value="依據Id下載文件" οnclick="javascript:downFile()"></div> </body> </html>
FileUpAndDownController.java

@RequestMapping(value = "/fileUpload")public String upload(@RequestParam(value = "file", required = false) MultipartFile file,HttpServletRequest request, ModelMap model) throws IOException {/*// 方式一:保存文件文件夾try {String path = request.getSession().getServletContext().getRealPath("/");// 文件保存文件夾,也可自定為絕對路徑String fileName = file.getOriginalFilename();// getOriginalFilename和getName是不一樣的哦System.out.println(path);File targetFile = new File(path, fileName);if (!targetFile.exists()) {targetFile.mkdirs();}file.transferTo(targetFile);model.addAttribute("upload.message", request.getContextPath() + "/upload/" + fileName);} catch (Exception e) {e.printStackTrace();}*/// 方式二:保存入庫Map<String, Object> insertMap = new HashMap<String, Object>();insertMap.put("byt", file.getBytes());insertMap.put("fileName", file.getOriginalFilename());int flag = fileUpAndDownMapper.saveFileInfo(insertMap);if(flag > 0)model.addAttribute("upload.message", "success");elsemodel.addAttribute("upload.message", "failure");return "/core/param/businessparam/uploadResult";}
FileUpAndDownMapper.xml(相應的數據庫為db2,保存blob類型)

<?xml version="1.0" encoding="UTF-8"?

> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.xx.persistence.FileUpAndDownMapper"> <resultMap id="fileBean" type="com.xx.web.FileUpAndDown"> <id column="ID" property="id" jdbcType="INTEGER" /> <result column="FILENAME" property="fileName" jdbcType="VARCHAR" /> <result column="TESTA" property="testa" javaType="byte[]" jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BlobTypeHandler" /> <result column="FILESTREAM" property="fileStream" javaType="byte[]" jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BlobTypeHandler" /> </resultMap> <insert id="saveFileInfo" parameterType="java.util.HashMap"> INSERT INTO BLOBTEST(FILENAME, FILESTREAM) VALUES(#{fileName}, #{byt, javaType=byte[], jdbcType=BLOB, typeHandler=org.apache.ibatis.type.BlobTypeHandler}) </insert> <select id="getFileByPk" resultMap="fileBean" parameterType="int"> SELECT * FROM BLOBTEST WHERE ID=${value} </select> </mapper>


uploadResult.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>uploadResult</title><meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body><a href="fileManagePage">上傳文件</a> ${requestScope['upload.message'] } </body> </html>
以上為springmvc下上傳文件的Demo,當中非常關鍵的一步是。spring的配置文件里要增加文件上傳的支持:

<!-- 支持上傳文件 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
文件的保存做了兩種方式,一種是直接存server的文件文件夾;還有一種是把文件流存入數據庫blob字段內(項目的特須要求)

以下是文件下載的代碼:

@ResponseBody@RequestMapping(value = "/fileDownload")public void fileDownload(HttpServletRequest request,HttpServletResponse response) throws IOException {String fileId = request.getParameter("fileId");FileUpAndDown file = fileUpAndDownMapper.getFileByPk(Integer.parseInt(fileId));byte[] fileStream = file.getFileStream();String fileName = file.getFileName();// 以流的形式下載文件response.setContentType("application/octet-stream");response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("gb2312"), "ISO8859-1" ) + "\"");OutputStream toClient = new BufferedOutputStream(response.getOutputStream());toClient.write(fileStream);toClient.flush();toClient.close();}
springmvc下文件上傳下載非常easy明對?不喜歡servlet在這么多的代碼。












轉載于:https://www.cnblogs.com/mengfanrong/p/4606125.html

總結

以上是生活随笔為你收集整理的springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧美日韩天堂 | 日韩爱爱网 | 欧美人xxx | 欧美黄色一区 | 黄色免费网站观看 | 97人人视频| 久久亚洲综合网 | 精品久久ai | 国产91在线观看丝袜 | 在线综合av | 偷拍视频一区二区 | 欧美成人高潮一二区在线看 | 国产日韩欧美精品一区二区 | 成人综合色站 | 亚洲图片在线 | 美人被强行糟蹋np各种play | eeuss一区二区| 国产免费美女 | 国产精品成人电影在线观看 | 在线免费看黄视频 | 91麻豆映画传媒 | 天堂av.com | 国产综合在线观看视频 | 日韩啊v | 少女与动物高清版在线观看 | 爱爱小视频网站 | 亚洲AV无码国产精品播放在线 | 亚洲精品18在线观看 | 在线观看视频日韩 | 美国一级片网站 | 无码精品人妻一二三区红粉影视 | 少妇媚药按摩中文字幕 | 香蕉视频在线网址 | 久久丫精品忘忧草西安产品 | 夜夜嗨网站 | 国产一区午夜 | 4438x全国最大成人网 | 精品综合在线 | 久久久久久久99 | 亚洲手机在线 | 超碰97在线资源站 | 美国毛片基地 | 亚洲色图在线观看 | 免费黄色在线 | 欧美一区二区视频在线观看 | 久久一区二区三区四区 | 国产日韩一区二区在线 | 亚洲精品国产精品乱码不卡 | 玉足脚交榨精h文 | 欧美午夜剧场 | 一级片久久久久 | 99爱免费| 波多野结衣视频免费看 | 欧美性大战久久久久久久 | 日韩综合第一页 | 手机在线看片国产 | 91猎奇在线观看 | 日韩欧美中文字幕在线视频 | 亚洲第一二三区 | 国产免费黄色 | 黄色av网站免费观看 | 欧美黄色大片免费观看 | 正在播放欧美 | 一区二区三区四区国产精品 | 亚洲免费看黄 | 精品熟女一区 | 日本另类视频 | 亚洲一区二区在线 | 五月婷婷基地 | 华人永久免费视频 | 性生交大片免费看3p | 香港三级韩国三级日本三级 | 91精品国产自产精品男人的天堂 | 色图自拍偷拍 | 日韩精品在线免费视频 | 欧美福利一区二区 | 精品一区二区无码 | 欧美精品一区二区视频 | 国产999久久久 | 日批免费观看视频 | 亚洲午夜精品在线 | 99精品福利| 日日射射 | 伊人久久狼人 | 成年人免费看视频 | aaa黄色片 | 久草视频免费在线播放 | 女人裸体免费网站 | 国产ts在线 | 久久亚洲精品无码va白人极品 | 日日夜夜伊人 | 日韩丰满少妇 | 日韩性网| 久久久久国产精品一区二区 | 日日干干| 黄网免费视频 | 国产亚洲成人av | 成年人免费视频网站 | 叼嘿视频在线免费观看 |