色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

springboot+vue實現文件上傳下載

瀏覽:9日期:2022-10-25 15:56:48

本文實例為大家分享了springboot+vue實現文件上傳下載的具體代碼,供大家參考,具體內容如下

一、文件上傳(基于axios的簡單上傳)

所使用的技術:axios、springboot、vue;實現思路:通過h5 :input元素標簽進行選擇文件,獲取所選選擇的文件路徑,new fromdata對象,設置fromdata的參數,設置axios對應的請求頭,最后通過axios發送post請求后端服務。后端服務同過MultipartFile進行文件接收。具體代碼如下:

前端代碼:

1、創建vue對象

import Vue from ’vue’import App from ’./App.vue’import router from ’./router’import store from ’./store’import http from ’axios’Vue.config.productionTip = false;Vue.prototype.$http=http;window.vm=new Vue({ router, store, render: h => h(App)}).$mount(’#app’)

2、實現上傳組件

在input標簽中添加改變事件監聽,當發生改變時調用up方法。

<template> <div class='hello'> <input name='file' type='file' accept='image/png, image/gif, image/jpeg' @change='up' /> </div></template><script>export default { name: 'HelloWorld', props: { msg: String }, methods: { up(e) { let file = e.target.files[0]; alert(file.name); console.log(file); let param = new FormData(); //創建form對象 param.append('file', file); //通過append向form對象添加數據 console.log(param.get('file')); //FormData私有類對象,訪問不到,可以通過get判斷值是否傳進去 let config = { headers: { 'Content-Type': 'multipart/form-data' } }; //添加請求頭 this.$http .post('http://127.0.0.1:8081/data/up', param, config) .then(response => { console.log(response.data); }).catch( error=>{ alert('失敗'); } ); } }};</script><!-- Add 'scoped' attribute to limit CSS to this component only --><style scoped lang='less'></style>

后端代碼:

上傳文件代碼

@RequestMapping(value = '/up', method = RequestMethod.POST) @ResponseBody public Result<String> uploade(@RequestParam('file') MultipartFile file) { try { log.error('開始上傳?。?!'); String originalFilename = file.getOriginalFilename(); InputStream inputStream = file.getInputStream(); String path='d:/2020test/'; File file1 = new File(path + originalFilename); if(!file1.getParentFile().exists()){ file1.getParentFile().mkdirs(); } file.transferTo(file1); log.info('上傳成功!'); } catch (IOException e) { e.printStackTrace(); } Result<String> stringResult = new Result<String>(); stringResult.setMsg('sue'); stringResult.setData('file'); return stringResult; }

二、文件下載

通過response輸出流返回文件內容,核心代碼設置下載文件的名字(res.setHeader(“Content-Disposition”, “attachment;filename=” + java.net.URLEncoder.encode(realFileName.trim(), “UTF-8”));)

@RequestMapping(value = '/get', method = RequestMethod.GET) public void downloadFile(HttpServletResponse res) { String realFileName='C:/Users/xiongyi/Desktop/12.xls'; File excelFile = new File(realFileName); res.setCharacterEncoding('UTF-8'); res.setHeader('content-type', 'application/octet-stream;charset=UTF-8'); res.setContentType('application/octet-stream;charset=UTF-8'); //加上設置大小下載下來的.xlsx文件打開時才不會報“Excel 已完成文件級驗證和修復。此工作簿的某些部分可能已被修復或丟棄”// res.addHeader('Content-Length', String.valueOf(excelFile.length())); try { res.setHeader('Content-Disposition', 'attachment;filename=' + java.net.URLEncoder.encode(realFileName.trim(), 'UTF-8')); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } byte[] buff = new byte[1024]; BufferedInputStream bis = null; OutputStream os = null; try { os = res.getOutputStream(); bis = new BufferedInputStream(new FileInputStream(new File(realFileName))); int i = bis.read(buff); while (i != -1) { os.write(buff, 0, buff.length); os.flush(); i = bis.read(buff); } } catch (IOException e) { e.printStackTrace(); } finally { if (bis != null) { try { bis.close(); } catch (IOException e) { } } } Result<String> stringResult = new Result<String>(); stringResult.setMsg('sue'); stringResult.setData('nimabi');}

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 成人免费观看一区二区 | 美女张开腿让男人操 | 国产三级借妻 | 日本免费在线一区 | 国产香港特级一级毛片 | 亚洲欧美精品国产一区色综合 | 国产日产欧产精品精品推荐在线 | 最新99国产成人精品视频免费 | 国产视频网站在线观看 | 久久精品国产400部免费看 | 亚洲成在 | 韩国在线精品福利视频在线观看 | 免费国产高清精品一区在线 | 91免费视频版 | 国产xh98hx在线观看 | 中文字幕福利视频 | 久久久久日韩精品无 | 一级毛片成人免费看a | 国产精品手机在线亚洲 | 久久综合九九亚洲一区 | 久久综合久久美利坚合众国 | 久久视频在线播放视频99re6 | 黄色三级毛片 | 人碰人碰人成人免费视频 | 国产欧美日韩三级 | 成人自拍视频 | 91一级片 | 成人毛片18女人毛片免费 | 欧美成亚洲| 国产欧美日本在线观看 | 日韩免费一级a毛片在线播放一级 | 美女日韩在线观看视频 | 国产1区2区三区不卡 | 欧美日韩亚洲另类 | 免费区一级欧美毛片 | 国产永久高清免费动作片www | 亚洲国产精品一区二区三区在线观看 | 亚洲综合第一页 | 国产粉嫩高中生无套第一次 | 91小视频在线观看免费版高清 | 男女性高爱潮免费网站 |