日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 简单实现上传 | commons-fileupload

發(fā)布時間:2025/4/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 简单实现上传 | commons-fileupload 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用servlet來實現(xiàn)

  • 配置pom.xml <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3</version></dependency>
  • servlet protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//創(chuàng)建一個文件處理工廠FileItemFactory factory= new DiskFileItemFactory();//創(chuàng)建一個存放臨時中轉(zhuǎn)的倉庫ServletContext servletContext = this.getServletConfig().getServletContext();File repository = (File) servletContext.getAttribute("javax.servlet.context.temdir");((DiskFileItemFactory) factory).setRepository(repository);//創(chuàng)建一個處理上傳的處理器ServletFileUpload upload = new ServletFileUpload(factory);try {//獲取從表單提交上來的數(shù)據(jù),從表單上傳的數(shù)據(jù)會自動被分割,比如一個input:text,input:file,就會被分成兩個itemList items = upload.parseRequest(req);Iterator iter = items.iterator();while (iter.hasNext()) {FileItem item = iter.next();//檢查是否是文件if(item.isFormField()) {//如果不是文件dString name = item.getFieldName();String value =item.getString();System.out.println(name+":"+value);}else {//如果是文件String fieldName = item.getFieldName();//這個fileName是上傳文件名String fileName = item.getName();System.out.println(fieldName+":"+fileName);//新建一個文件,用于存儲上傳的文件File uploadFile = new File("D:\\",fileName);item.write(uploadFile);}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}
  • 在web.xml中配置好servlet
  • 前端頁面 <form action="/swfupload/fupload" enctype="multipart/form-data" method="post"></form> ?在這里,enctype的類型一定要是multipart/form-data,method要是post
  • 使用spring mvc controller來實現(xiàn)

  • 大部分都是和上面的一樣,而配置spring mvc可以在前面的博客找到
  • 配置controller @RequestMapping(value="/upload.do",method=RequestMethod.POST)public void upload(HttpServletRequest request, HttpServletResponse response) {//定義一個文件上傳工廠,配置一些上傳限制DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File("D:\\"));//上傳實現(xiàn)方法ServletFileUpload upload = new ServletFileUpload(factory);try {//獲取表彰提交List items = upload.parseRequest(request);Iterator iter = items.iterator();while (iter.hasNext()) {FileItem item = iter.next();if (item.isFormField()) {//當(dāng)不是文件的時候String filedName = item.getFieldName();String value = item.getString();System.out.println(filedName + ":" + value);} else {//是文件的時候String fileName = item.getName();String path = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/");System.out.println(path);//新建一個文件,并以上傳文件名為文件名File uploadFile = new File(path,fileName);//保存上傳文件item.write(uploadFile);}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}} @RequestMapping指定了訪問的路徑和訪問的類型
  • 前臺頁面 <form action="/swfupload/upload.do" enctype="multipart/form-data" method="post"> 其實swfupload是項目名

  • java 和 swfupload的結(jié)合

    其實swfupload只是負責(zé)前臺的各種邏輯,而java后臺的處理依然是沿用普通的上傳代碼,也就是java后臺處理的代碼和上面的是一個樣,只是前臺代碼使用swfupload寫,而代碼在官方網(wǎng)站上的demo寫得非常全了

    轉(zhuǎn)載于:https://www.cnblogs.com/popping57/p/3258956.html

    總結(jié)

    以上是生活随笔為你收集整理的java 简单实现上传 | commons-fileupload的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。