<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-95  評(píng)論-31  文章-10  trackbacks-0
    需求: 
    1:上傳一個(gè)或者多個(gè)文件 
    2:同時(shí)攜帶其它text字段 

    解決: 用spring-boot很簡(jiǎn)單,網(wǎng)上流傳的還是復(fù)雜了。

    1:搭建spring-boot,版本為1.4.3.RELEASE 
    2:只需要在application.properties里面添加如下內(nèi)容: 

    參數(shù)根據(jù)自己需要調(diào)整
    # file upload
    spring.http.multipart.enabled=true
    spring.http.multipart.file-size-threshold=0
    spring.http.multipart.max-file-size=50MB
    #spring.http.multipart.location=/uploads
    spring.http.multipart.max-request-size=100MB
    spring.http.multipart.resolve-lazily=false


    3:以上配置就完事了,不需要再配置其它的! 
    4:進(jìn)入restController 方法上這樣寫(xiě)這是最簡(jiǎn)單的配置,不需要再加consumer注解multipart/form-data,只要客戶端http請(qǐng)求的ContentType=multipart/form-data即可:
    @RequestMapping(value = "/save", method = RequestMethod.POST) 
    public ResponseResult saveSharecare(HttpServletRequest request, @RequestPart(value = "file") MultipartFile[] multipartFiles,@Valid ShareCareDto shareCareDto){} 

    解釋?zhuān)?nbsp;
    1): request不多說(shuō)了,默認(rèn)獲取所有的,可以寫(xiě),也可以不寫(xiě),也可以注解加httpheader cookie等等,按你所需 
    2):上傳文件一定要加@RequestPart(value="file"),如果是多個(gè)文件(這里就是多個(gè)),value="file",表示name值就是file,多個(gè)文件name值要相等。 如果不加@RequestPart注解,httpServletRequest仍然可以獲取多個(gè)multipartFiles,但是這個(gè)方法入?yún)ultipartFiles就沒(méi)值,所以要加上該注解 
    3):sharecareDto就是你傳輸?shù)腄TO實(shí)體,這里只是個(gè)例子@Valid注解是開(kāi)啟驗(yàn)證,這個(gè)實(shí)體的屬性哪些必填,哪些字段大小等等的注解驗(yàn)證。

    以上就是所有配置。

    問(wèn)題:1:為什么這樣配置就可以上傳? spring.io官網(wǎng)給出了答案,見(jiàn) https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#howto-multipart-file-upload-configuration


    注: MultipartAutoConfiguration 類(lèi)增加了StandardServletMultipartResolver 對(duì)Servlet 3 javax.servlet.http.Part進(jìn)行了增強(qiáng),所以無(wú)需配置了。 


    客戶端http完整請(qǐng)求示例:

    POST /v1/sharecare/save HTTP/1.1
    Host: localhost:8080
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
    Accept: */*
    Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    content-type: multipart/form-data; boundary=---------------------------22751826015688
    origin: moz-extension://7450cf37-12f8-4d6e-af59-921a7f04d962
    Content-Length: 426396
    token: 123456
    Connection: keep-alive
    Pragma: no-cache
    Cache-Control: no-cache
    <!-- 這里就是dto放屬性的地方 -->
    -----------------------------22751826015688
    Content-Disposition: form-data; name="headline"
    123456
    -----------------------------22751826015688
    Content-Disposition: form-data; name="file"; filename="IMG_0461.jpg"
    Content-Type: image/jpeg
    ???
    -----------------------------22751826015688
    Content-Disposition: form-data; name="file"; filename="IMG_0462.jpg"
    Content-Type: image/jpeg
    ???
    -----------------------------22751826015688


    完!





    posted on 2017-10-19 13:28 朔望魔刃 閱讀(1352) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): java
    主站蜘蛛池模板: 国产在线播放免费| 成年在线网站免费观看无广告| 亚洲精品国产精品国自产观看| 亚洲熟妇丰满xxxxx| 青青草免费在线视频| 中文日韩亚洲欧美制服| 免费看大美女大黄大色| 337p日本欧洲亚洲大胆人人| 四虎永久在线免费观看| 农村寡妇一级毛片免费看视频| 久久久久国产成人精品亚洲午夜| 丁香花在线观看免费观看图片| 亚洲色婷婷六月亚洲婷婷6月| 一个人免费视频观看在线www| 久久精品国产亚洲AV麻豆王友容| 久久国产免费一区二区三区| 亚洲高清日韩精品第一区| 无码视频免费一区二三区| 国产精品亚洲二区在线| 亚洲伊人久久综合影院| 久久免费公开视频| 亚洲看片无码在线视频| 免费夜色污私人影院在线观看| 国产精品免费在线播放| 日韩精品一区二区亚洲AV观看| 免费在线视频你懂的| 含羞草国产亚洲精品岁国产精品 | 国产精品永久免费10000| 亚洲欧洲日韩国产一区二区三区| 国产一级淫片视频免费看| 永久免费无码网站在线观看个| 亚洲春色在线视频| 在线免费观看a级片| 久久久WWW免费人成精品| 亚洲综合久久成人69| 日韩在线视频免费看| 国产三级在线免费| 亚洲第一成年网站视频| 久久亚洲精品中文字幕三区| 免费毛片在线看片免费丝瓜视频| 精品熟女少妇aⅴ免费久久|