ssm框架下文件上传
生活随笔
收集整理的這篇文章主要介紹了
ssm框架下文件上传
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
springmvc實(shí)現(xiàn)文件上傳的步驟:
1.頁(yè)面上,通過input來準(zhǔn)備file組件,該標(biāo)簽,必須給定name屬性值 同時(shí),要求form表單必須給定一個(gè)屬性:enctype="multipart/form-data" 2.在pom.xml文件中,添加文件上傳的第三方工具: commons-fileupload-1.3.2.jar commons-io-2.2.jar 3.在app-springmvc.xml配置文件中,準(zhǔn)備上傳操作的對(duì)象:CommonsMultipartResolver 在這個(gè)對(duì)象中,我們可以對(duì)文件大小,編碼方式等進(jìn)行設(shè)定 4.在控制器中,通過@RequestParam MultipartFile pic這種方式,來接收頁(yè)面?zhèn)鬟f的文件 這里,參數(shù)的名字必須與頁(yè)面上file組件的name屬性值一致 此時(shí),在控制器中,已經(jīng)能夠正常地接收頁(yè)面上傳的文件了,下一步,只需要把接收的這個(gè)文件,保存到服務(wù)器的硬盤上即可 <!-- 2文件上傳依賴 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.2</version></dependency> <!-- 3文件上傳 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" ><property name="maxUploadSizePerFile" value="102400000" ></property></bean>控制器:
<!-- 4 控制器。。。文件上傳 --> @RequestMapping(value="addFile",method=RequestMethod.POST)public String addFile(@RequestParam MultipartFile pic,HttpServletRequest request,Model model){String filename = pic.getOriginalFilename();System.out.println("接收到的文件的名字: "+filename);String contentType = pic.getContentType();System.out.println("接收文件的類型: "+contentType);InputStream iStream=null;OutputStream oStream=null;String realPath = request.getSession().getServletContext().getRealPath("/imgs");//得到一個(gè)隨機(jī)的字符串String string = UUID.randomUUID().toString();String endname = filename.substring(filename.lastIndexOf("."), filename.length());/*try {is = pic.getInputStream();os = new FileOutputStream(new File(realpath+"/"+uuid+endname));//要把文件輸出到硬盤上,第一種方式:自己寫字節(jié)流 并通過邊讀邊寫操作完成輸出byte [] b = new byte[1024];int len = is.read(b);while(len!=-1){os.write(b, 0, len);len = is.read(b);}os.flush();os.close();is.close();} catch (IOException e) {e.printStackTrace();}*///通過commons-io包提供的工具來完成拷貝try {iStream=pic.getInputStream();oStream=new FileOutputStream(new File(realPath+"/"+string+endname));FileCopyUtils.copy(iStream, oStream);oStream.flush();oStream.close();iStream.close();} catch (IOException e) {// TODO Auto-generated catch block e.printStackTrace();}System.out.println("文件保存路徑:"+realPath+"/"+string+endname+"....");return "index";}?
轉(zhuǎn)載于:https://www.cnblogs.com/dztHome/p/8929902.html
總結(jié)
以上是生活随笔為你收集整理的ssm框架下文件上传的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS控制网页全屏
- 下一篇: 使用EasyNetQ组件操作Rabbit