Servlet & Spring对Multipart数据请求的支持

本文详细介绍了Multipart FormData在HTML表单文件上传中的应用,以及Servlet 3.0和Spring对Multipart请求的支持。通过示例展示了如何在Servlet中处理文件上传,并解释了Servlet 3.0的Multipart配置,如tempdir和maxFileSize。此外,还讨论了Spring的MultipartResolver,包括基于Commons FileUpload和Servlet 3.0 API的解析方式,以及使用Part API处理文件和表单数据。
摘要由CSDN通过智能技术生成

参考资料
(1)RFC 1867
(2)Java Servlet Specification 3.1;
(3)《Java Web高级编程》;

1. Multipart FormData

Multipart是HTML中表单文件上传的基本格式,一般通过如下方法可以通过HTTP上传文件:

    <form action="_URL_" method="POST" enctype="multipart/form-data">
        <input type="text" name="username" />
        <input type="file" name="userfile1" />
        <input type="submit" value="submit" />
    </form>

有两个地方是使用Multipart的关键:
(1)对于POST请求来说,enctype的默认值是application/x-www-form-urlencoded,而这里要是用multipart/form-data
(2)<input />的type设置为file

1.1 Multipart的数据格式

基于Multipart,请求的每个部分都有指定的边界分隔开,都有一个值为form-data的Content-Disposition和匹配表单输入名称的name
如果是文件类型字段,还将有filename,匹配MIME类型的Content-Type
使用下面的表单提交单个文件和其他文本域:

测试1:单文件上传
    <form action="/s/upload/1" method="post" enctype="multipart/form-data">
        <fieldset>
            <legend>测试1:单文件上传</legend>
            <p><label for="name">名称 </label><input id="name" type="text" name="name" /></p>
            <p><label for="files">文件 </label><input id="files" type="file" name="files" /></p>
            <p><label for="location">地区 </label><input id="location" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值