电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SpringBoot 文件或圖片上傳與下載功能的實(shí)現(xiàn)

瀏覽:6日期:2023-03-24 08:30:24
導(dǎo)入依賴(pom.xml)

 <!-- 上傳下載需要設(shè)計(jì)到的jar包 --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> <!--servlet-api導(dǎo)入高版本的--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> <!-- 圖片處理類 --> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency>全局配置 application.properties

# 上傳文件大小spring.servlet.multipart.max-file-size=5MBspring.servlet.multipart.max-request-size=5MB

創(chuàng)建 WebMvcConfig 配置類 靜態(tài)資源映射

@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { ApplicationHome h = new ApplicationHome(getClass()); File jarF = h.getSource(); String dirPath = jarF.getParentFile().toString()+'/upload/'; String os = System.getProperty('os.name'); if (os.toLowerCase().startsWith('win')) { //如果是Windows系統(tǒng) registry.addResourceHandler('/upload/**').addResourceLocations('file:'+dirPath); } else { registry.addResourceHandler('/upload/**').addResourceLocations('file:'+dirPath); } }}文件或圖片上傳

控制層

// 上傳文件 @ResponseBody @RequestMapping('/upload') public String fileUpload(@RequestParam('files') MultipartFile files) throws IOException {// // win系統(tǒng) 上傳路徑保存設(shè)置// // 獲取項(xiàng)目路徑// File projectPath = new File(ResourceUtils.getURL('classpath:').getPath());// // 絕對(duì)路徑=項(xiàng)目路徑+自定義路徑// File pathFile = new File(projectPath.getAbsolutePath(), 'static/upload/');// if (!pathFile.exists()) {// pathFile.mkdirs();// }// //上傳文件地址// UUID uuid = UUID.randomUUID();// File serverFile = new File(pathFile, uuid + '_' + files.getOriginalFilename());// files.transferTo(serverFile);//// String imgPath = ('/upload/' + uuid + '_' + files.getOriginalFilename()).replace('', '/');//// return imgPath; // Linux服務(wù)器 上傳路徑保存設(shè)置 // 項(xiàng)目路徑 /home/www/ File pathFile = new File('/home/www/upload/'); if (!pathFile.exists()) { pathFile.mkdirs(); } //上傳文件地址 UUID uuid = UUID.randomUUID(); File serverFile = new File(pathFile, uuid + '_' + files.getOriginalFilename()); files.transferTo(serverFile); String imgPath = ('/upload/' + uuid + '_' + files.getOriginalFilename()).replace('', '/'); return imgPath; }

HTML頁(yè)面

Ajax 無(wú)刷新上傳

<form action='' enctype='multipart/form-data' method='post'><input type='hidden' name='blogImg' value=''><div class='form-group'><label>圖片上傳</label><input type=’file’ style=’margin: 5px;’ name=’files’ required><br><button type='button' id='img_upload'>上傳圖片</button></div><input type='submit'></form>

JS

//普通圖片上傳 $(’#img_upload’).click(function () { var formData = new FormData(); //獲取選擇的文件 $.each($(’input[name='files']’),function (index,item) { formData.append('files',item.files[0]) }); //發(fā)送異步請(qǐng)求 $.ajax({ method:’post’, url: ’[[@{/user/upload}]]’, // 文件上傳接口 data:formData, processData: false, contentType:false, success:function (data) { //成功返回觸發(fā)的方法 $(’#imgPath’).val(data); alert('上傳成功'); }, //請(qǐng)求失敗觸發(fā)的方法 error:function () { alert('上傳失敗'); } }); });文件或圖片下載

控制層

@RequestMapping(value='/download')public String downloads(HttpServletResponse response ,HttpServletRequest request) throws Exception{ //要下載的圖片地址 String path = request.getServletContext().getRealPath('/upload'); String fileName = '基礎(chǔ)語(yǔ)法.jpg'; //1、設(shè)置response 響應(yīng)頭 response.reset(); //設(shè)置頁(yè)面不緩存,清空buffer response.setCharacterEncoding('UTF-8'); //字符編碼 response.setContentType('multipart/form-data'); //二進(jìn)制傳輸數(shù)據(jù) //設(shè)置響應(yīng)頭 response.setHeader('Content-Disposition', 'attachment;fileName='+URLEncoder.encode(fileName, 'UTF-8')); File file = new File(path,fileName); //2、 讀取文件--輸入流 InputStream input=new FileInputStream(file); //3、 寫(xiě)出文件--輸出流 OutputStream out = response.getOutputStream(); byte[] buff =new byte[1024]; int index=0; //4、執(zhí)行 寫(xiě)出操作 while((index= input.read(buff))!= -1){ out.write(buff, 0, index); out.flush(); } out.close(); input.close(); return null;}

HTML頁(yè)面

<a href='http://www.hdgsjgj.cn/download' rel='external nofollow' >點(diǎn)擊下載</a>

SpringBoot 文件或圖片上傳與下載就可以了

到此這篇關(guān)于SpringBoot 文件或圖片上傳與下載功能的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot 文件上傳與下載內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 广西正涛环保工程有限公司【官网】 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 海南在线 海南一家 | DDoS安全防护官网-领先的DDoS安全防护服务商 | 山东氧化铁红,山东铁红-淄博科瑞化工有限公司 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 皮带式输送机械|链板式输送机|不锈钢输送机|网带输送机械设备——青岛鸿儒机械有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 无锡网站建设-做网站-建网站-网页设计制作-阿凡达建站公司 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 物和码官网,物和码,免费一物一码数字化营销SaaS平台 | 据信,上课带着跳 D 体验-别样的课堂刺激感受引发网友热议 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 派财经_聚焦数字经济内容服务平台| 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 进口试验机价格-进口生物材料试验机-西安卡夫曼测控技术有限公司 | 胶原检测试剂盒,弹性蛋白检测试剂盒,类克ELISA试剂盒,阿达木单抗ELISA试剂盒-北京群晓科苑生物技术有限公司 | 懂研帝_专业SCI论文润色机构_SCI投稿发表服务公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 橡胶电子拉力机-塑料-微电脑电子拉力试验机厂家-江苏天源 |