<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
    主站蜘蛛池模板: 日韩免费高清视频网站| 亚洲中文精品久久久久久不卡| 亚洲AV无码一区二区三区网址| 免费无码又爽又刺激毛片| 日本免费高清视频| 免费在线观看自拍性爱视频| 亚洲国产日产无码精品| 久久精品国产精品亚洲精品 | 99re热免费精品视频观看| 国内少妇偷人精品视频免费| 亚洲天堂中文资源| 国产国拍亚洲精品福利| 日韩一品在线播放视频一品免费| a级毛片免费网站| 国产亚洲精品91| 亚洲精品无码中文久久字幕| 亚洲免费二区三区| 亚洲成年人电影在线观看| 情人伊人久久综合亚洲| 亚洲色婷婷综合久久| 久久亚洲中文字幕精品一区四| 日本免费网站视频www区| 精品一卡2卡三卡4卡免费视频| 亚洲综合av一区二区三区 | 亚洲人成电影亚洲人成9999网| 午夜免费福利在线观看| 成人A级毛片免费观看AV网站| 一级毛片**免费看试看20分钟| 中文字幕亚洲色图| 1区1区3区4区产品亚洲| 亚洲av日韩av无码黑人| 免费乱码中文字幕网站| 免费v片在线观看无遮挡| 57pao国产成永久免费视频| 在线免费观看亚洲| 114级毛片免费观看| 欧美大尺寸SUV免费| 一区二区在线免费观看| 91大神在线免费观看| 国产又大又粗又长免费视频| 国产免费牲交视频免费播放|