1

来源:互联网 发布:qq扣字软件手机下载软件 编辑:程序博客网 时间:2024/05/09 08:17
  • 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。
    下边是说明:
    application/x-www-form-urlencoded:窗体数据被编码为名称/值对。这是标准的编码格式。
    multipart/form-data:窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
    下面是一个 ENCTYPE=multipart/form-data时服务器接收的数据,用request.getInputStream()可以得到内容

    -----------------------------7d631c111a013c
    Content-Disposition: form-data; name="file1"; filename="C:/Documents and Settings/Administrator/桌面/Noname3.html"
    Content-Type: text/html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html></html>


    -----------------------------7d631c111a013c
    Content-Disposition: form-data; name="file2"; filename=""
    Content-Type: application/octet-stream


    -----------------------------7d631c111a013c
    Content-Disposition: form-data; name="file3"; filename=""
    Content-Type: application/octet-stream


    -----------------------------7d631c111a013c
    Content-Disposition: form-data; name="ttt"

    ttt
    -----------------------------7d631c111a013c--

    以上是接收的form传入服务器的内容

    如果要提取表单中的每项的值,则需要根据内容规则去提取,其中Content-Disposition: form-data; name="file1"; filename="C:/Documents and Settings/Administrator/桌面/Noname3.html"是对上传文件的描述,需要以流的方式写入服务器的文件中,

    这种情况需要根据传到服务器上的格式去提取表单中的每个域对应的属性值
    text/plain:窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。