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