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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

mint mvc文件上传功能——使用篇

發布時間:2023/11/29 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mint mvc文件上传功能——使用篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

為了不打擊大家的積極性,暫時只著重講用法,原理方面暫時不講太多。

配置web.xml

文件上傳需要用到servlet3的異步處理功能。需要在web.xml配置文件中加入異步支持聲明(注釋處):

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"version="2.4"><servlet><servlet-name>dispatcher</servlet-name><servlet-class>mint.mvc.core.ServiceServlet</servlet-class><!-- 開啟servlet3.0的異步處理功能 --><async-supported>true</async-supported><init-param><param-name>actionPackages</param-name><param-value>demo;</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping> </web-app>

編寫上傳文件的action

文件上傳的action:

package demo;import mint.mvc.annotation.BaseMapping; import mint.mvc.annotation.Mapping; import mint.mvc.core.upload.MultipartConfig; import mint.mvc.core.upload.MultipartParameter;@BaseMapping("/upload") public class UploadAction {@MultipartConfig(attributeName = "params", limitSize = 1024*1024*1024, tempFilePath = "D:/upload")@Mapping(urls="/index", method="post")public String index(MultipartParameter[] params, String author){String fileParam = "";String commonParam = "";if(params != null){for(MultipartParameter part : params){if(part.isFile()){fileParam += part.getTempFile().getAbsolutePath()+"<br/>";} else {commonParam += (part.getName()+":"+part.getParameterValue())+"<br/>";}}}System.out.println(author);return fileParam+commonParam;} }

處理文件上傳請求的action方法需要添加MultipartConfig注解,MultipartConfig有三個參數:

  • attributeName:為了在action內有辦法獲取到上傳的文件,mint mvc把這些上傳的文件都封裝在一個數組里,這個數組用request對象的setAttribute方法,以指定的“attributeName”保存到request對象里。最后,可以在action內,用request.getAttribute()方法獲得該數組。在mint mvc的參數博文中說過,mint mvc會自動的用HttpServletRequest的屬性初始化action參數,所以只要在action上聲明一個以attributeName命名,類型為MultipartParameter[]的參數,就可以輕松得到封裝有文件信息的數組
  • limitSize:限制每個上傳文件(包括非文件參數)的大小,單位是B。如果上傳過程中,發現有文件或參數超過此限制,上傳過程將會終止
  • tempFilePath:臨時文件的保存路徑。臨時文件的命名格式是:UUID_真實文件名
  • mint mvc的上傳功能除了可以接受文件外,還可以接收普通字段。普通字段會封裝在request中,可以通過request的getParameters方法獲取。

    文件上傳演示

    文件上傳的頁面:

    <!DOCTYPE html> <meta charset="UTF-8"> <form action="upload" enctype="multipart/form-data" method="post" target="demo_iframe">價格:<input type="text" name="price" value="50"/><br/>作者:<input type="text" name="author" value="瓊羽"/><br/>書籍:<input type="file" name="books"/><br/>書籍:<input type="file" name="books"/><br/>書籍:<input type="file" name="books"/><br/><button type="submit">上傳</button> </form>

    選擇文件:

    客戶端返回結果:


    上傳成功的文件:

    本demo下載地址:http://git.oschina.net/895925636/mintdemo/tree/master

    項目地址:http://git.oschina.net/895925636/mint-mvc

    收錄地址:http://www.oschina.net/p/mint-mvc

    博客地址:http://www.wemakers.net/home/blog?cate=1001

    (完)

    轉載于:https://my.oschina.net/cnlw/blog/335187

    總結

    以上是生活随笔為你收集整理的mint mvc文件上传功能——使用篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。