springmvc模式的上傳和下載實現(xiàn)解析
這篇文章主要介紹了springmvc模式下的上傳和下載實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
此處上傳的功能依舊是采用表格上傳。文件格式依舊是
<form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data">
后臺則是
@RequestMapping("/upload")
public String upload(MultipartFile file,String userName,HttpServletRequest request) throws IOException {
String filename = file.getOriginalFilename();
String suffix = filename.substring(filename.lastIndexOf("."));
if(suffix.equalsIgnoreCase(".jpg")){
String uuid = UUID.randomUUID().toString();
//FileUtils.copyInputStreamToFile(file.getInputStream(),new File("E://"+uuid+suffix));
file.transferTo(new File("D://"+System.currentTimeMillis()+suffix));//位置存儲在硬盤上
// file.transferTo(new File(request.getServletContext().getRealPath("/")+"static/userImages/"+file));
// 存儲在項目里的目錄下
request.setAttribute("result","上傳成功");
return "/result.jsp";
}else{
request.setAttribute("result","上傳失敗");
return "/result.jsp";
}
}
相比之前的傳統(tǒng)式上傳,springmvc模式下封裝了許多繁瑣的過程,通過transferTo即可實現(xiàn)一些相應的操作
而下載也是相應的簡化了許多
@RequestMapping("/download")
public void download(String filename, HttpServletResponse response, HttpServletRequest request) throws IOException {
response.setHeader("content-disposition","attachment;filename="+filename);
ServletOutputStream outputStream = response.getOutputStream();
String path = request.getServletContext().getRealPath("images");
File file = new File(path,filename);
byte[] bytes = FileUtils.readFileToByteArray(file);
outputStream.write(bytes);
outputStream.close();
}
一般框架會省去許多重復性的工作,但底層的基本原理還是要清楚過程
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java數(shù)據(jù)結構之AC自動機算法的實現(xiàn)
AC自動機算法常被認為是Trie樹+KMP算法的結合體,它是一個多模式匹配算法,在模式匹配領域被廣泛應用。本文將詳細為大家介紹AC自動機的原理與實現(xiàn)方法,感興趣的可以了解一下2022-12-12
RocketMQ消息生產(chǎn)者是如何選擇Broker示例詳解
這篇文章主要為大家介紹了RocketMQ消息生產(chǎn)者是如何選擇Broker示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
java-SSH2實現(xiàn)數(shù)據(jù)庫和界面的分頁
本文主要是介紹SSH2實現(xiàn)數(shù)據(jù)庫和界面的分頁的代碼,分頁在web應用中是經(jīng)常要做的事情,實用性比較大,有需要的朋友可以來了解一下。2016-10-10
java正則表達式獲取指定HTML標簽的指定屬性值且替換的方法
下面小編就為大家?guī)硪黄猨ava正則表達式獲取指定HTML標簽的指定屬性值且替換的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12

