axios實(shí)現(xiàn)簡單文件上傳功能
更新時間:2019年09月25日 09:44:52 作者:pia_082
這篇文章主要為大家詳細(xì)介紹了axios實(shí)現(xiàn)簡單文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了axios實(shí)現(xiàn)文件上傳功能的具體代碼,供大家參考,具體內(nèi)容如下
前臺頁面:
引入axios js文件
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
HTML:
<input type="file" name="img"/> <br> <span οnclick="upload()">上傳圖片</span>
JS:
function upload() { alert("上傳") let file = document.getElementsByName('img')[0].files[0]; let formData = new FormData(); formData.append("uploadFile",file,file.name); const config = { headers: { "Content-Type": "multipart/form-data;boundary="+new Date().getTime() } }; axios .post("/file/upload",formData,config) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); }
后臺接收:
@PostMapping(value = "/upload") public String upload(HttpServletRequest request){ logger.info("開始上傳……"); MultipartHttpServletRequest servletRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = servletRequest.getFileMap(); for (Map.Entry entry : fileMap.entrySet()) { logger.info("name : {}",entry.getKey()); MultipartFile multipartFile = (MultipartFile) entry.getValue(); try { FileUtil.writeFile(multipartFile.getInputStream(),path+"/12_"+multipartFile.getOriginalFilename()); } catch (IOException e) { e.printStackTrace(); } } return "{'result':'OK'}"; } @RequestMapping(value = "/uploadII") public String uploadII(@RequestParam("uploadFile") MultipartFile uploadFile){ logger.info("upload : {}",uploadFile); try { InputStream inputStream = uploadFile.getInputStream(); String originalFilename = uploadFile.getOriginalFilename(); logger.info("file : {}",originalFilename); FileUtil.writeFile(inputStream,path+"/"+originalFilename); } catch (IOException e) { e.printStackTrace(); } return "{'result':'OK'}"; }
pox.xml:
<!-- 文件上傳 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency>
注入CommonsMultipartResolver:
@Bean public CommonsMultipartResolver initCommonsMultipartResolver(){ CommonsMultipartResolver resolver = new CommonsMultipartResolver(); resolver.setMaxUploadSize(104857600); resolver.setMaxInMemorySize(4096); return resolver; }
GitHub:axios
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- vue實(shí)現(xiàn)實(shí)時上傳文件進(jìn)度條
- Vue實(shí)現(xiàn)帶進(jìn)度條的文件拖動上傳功能
- 使用axios實(shí)現(xiàn)上傳圖片進(jìn)度條功能
- Vue axios 中提交表單數(shù)據(jù)(含上傳文件)
- vue使用axios上傳文件(FormData)的方法
- vue項(xiàng)目中使用axios上傳圖片等文件操作
- vue使用axios實(shí)現(xiàn)文件上傳進(jìn)度的實(shí)時更新詳解
- vue-cli+axios實(shí)現(xiàn)文件上傳下載功能(下載接收后臺返回文件流)
- axios+Vue實(shí)現(xiàn)上傳文件顯示進(jìn)度功能
- Vue+Axios實(shí)現(xiàn)文件上傳自定義進(jìn)度條
相關(guān)文章
dedecms頁面如何獲取會員狀態(tài)的實(shí)例代碼
下面小編就為大家?guī)硪黄猟edecms頁面如何獲取會員狀態(tài)的實(shí)例代碼。一起跟隨小編過來看看吧,希望對大家有所幫助。2016-03-03bootstrap里bootstrap動態(tài)加載下拉框的實(shí)例講解
今天小編就為大家分享一篇bootstrap里bootstrap動態(tài)加載下拉框的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08