<form>文件上传

作者: bo_bo_bo_la | 来源:发表于2017-11-11 14:04 被阅读12次

<form  metion="post/get"  enctype="application/x-www-form-urlencoded /  multipart/form-data  / text/plain">

    <input type="text" name="content">

    <input type="submit" name="submit">

</form>

一、metion

1.get方式,使用该方式提交的话,表单项都会保存到http header中,格式为  http://localhost:8080/hello.do?content=value.  sever端可以通过request.getParameter可以取道值。

2.post方式(enctype为缺省的application/x/-www-form-urlencoded)

    1> 表单数据都保存在HTTP的正文部分,用request.getParameter是可以渠道数据的  content=value

    2>(enctype为multipar/gorm-data,多用于文件上传,对于指向传value的做法,显然使用application/json或者text/plain会好很多,可以把数据放到form的header或者body中,在后台使用相应的方法得到具体值)

二、enctype

1、application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。

2、multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。

multipart/form-data 是上传二进制数据

form里面的input的值以2进制的方式传过去,所以这里要明白,使用这种格式以后,后台request就获取不到数据了

enctype属性是设置提交数据的格式,指定将数据回发到服务器时浏览器使用的编码类型。

3、 text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.

enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。

form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的:

SmartUpload su = new SmartUpload();//新建一个SmartUpload对象

su.getRequest().getParameterValues();取数组值

su.getRequest().getParameter( );取单个参数单个值

相关文章

网友评论

    本文标题:<form>文件上传

    本文链接:https://www.haomeiwen.com/subject/xduwmxtx.html