Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ServletFileUpload-ItemIterator的顺序_Java_Html_Servlets_File Upload - Fatal编程技术网

Java ServletFileUpload-ItemIterator的顺序

Java ServletFileUpload-ItemIterator的顺序,java,html,servlets,file-upload,Java,Html,Servlets,File Upload,我使用commons FileUpload作为自定义上传器实现的一部分。特别是,我使用的是ServletFileUpload和流式API()。ServletFileUpload中getItemIterator()方法的API表示,它保证返回FileItemStreams的迭代器,其顺序为“传输顺序”。也许这是一个愚蠢的问题,但是当提交一个HTML表单时,这个顺序保证是HTML表单输入在相应HTML页面上的顺序吗?到目前为止,情况似乎是这样,但我需要确保这是有保证的行为 例如: <form

我使用commons FileUpload作为自定义上传器实现的一部分。特别是,我使用的是ServletFileUpload和流式API()。ServletFileUpload中getItemIterator()方法的API表示,它保证返回FileItemStreams的迭代器,其顺序为“传输顺序”。也许这是一个愚蠢的问题,但是当提交一个HTML表单时,这个顺序保证是HTML表单输入在相应HTML页面上的顺序吗?到目前为止,情况似乎是这样,但我需要确保这是有保证的行为

例如:

<form method="post" name="test" action="/upload">
    <input type="hidden" name="param1" value="1" />
    <input type="hidden" name="param2" value="2" />
    <input type="hidden" name="param3" value="3" />
    <input type="file" name="test_file" />
</form>


// Example JAVA ...
// Is the iterator guaranteed to return streams in the order: param1, param2, param3, test_file?
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request);

//示例JAVA。。。
//迭代器是否保证按以下顺序返回流:param1、param2、param3、test_file?
ServletFileUpload upload=新建ServletFileUpload();
FileItemIterator iter=upload.getItemIterator(请求);

是,这依次在-。以下是相关摘录(见最后一段的重点):

17.13.4表格内容类型

应用程序/x-www-form-urlencoded 这是默认的内容类型。使用此内容类型提交的表格必须按以下方式编码:

控件名称和值被转义。空格字符替换为
“+”
,然后按照第2.2节中的说明对保留字符进行转义:非字母数字字符替换为
“%HH”
,一个百分号和两个十六进制数字表示字符的ASCII码。换行符表示为“CR LF”对(即,
“%0D%0A”

控件名称/值按它们在文档中出现的顺序列出。名称与值之间用
'='
分隔,名称/值对之间用
'&'
分隔


非常感谢。这正是我想要的。我会给你一个+1,但显然我的身份证太新了,不能投票。不客气。没问题,它只需要至少15张声誉(换句话说,至少3张问题票)。