分段上传表格:订单有保证吗?

时间:2011-09-16 20:08:41

标签: html http cross-browser cgi mime-types

当我使用html表单制作“Content-Type:multipart / form-data”POST请求时,字段始终按照HTML中列出的顺序显示。在实践中,所有浏览器都这样做吗?

想要了解这一点的主要动机是,我可以对表单数据进行服务器端验证,而无需在RAM中缓存整个 HTTP请求。磁盘第一。

我知道CGI,PHP等通常不会做任何事情直到上传完成。可能是因为RFC 2388第5.5节通过说订单没有定义来解决这个问题。我正在使用高度自定义的thttpd分支,并处理内置于服务器内置的C代码。所以我不关心大多数服务器做什么。

我想知道的是,如果我走出困境并接受命令,我会被这个假设烧伤吗?

以此表格为例:

  <form id="formUpload"
        target = "uploadTarget"
        method = "post"
        action = "/bin/upload"
        enctype= "multipart/form-data" >
    <input type="hidden" id="inUser" name="user" />
    <input type="hidden" id="inDest" name="dest"/>
    <input type="file" id="inFile" name="file" />
    <input type="button" value="Upload" onclick="uploadFile();" />
    <iframe id="uploadTarget" name="uploadTarget" src="" style="width:0;height:0;border:0px"/>
  </form>

'uploadFile()'功能将填写用户&amp;调用submit()之前的dest字段。我想验证用户和&amp;在recv()整个HTTP请求主体之前,还有dest服务器端。

1 个答案:

答案 0 :(得分:23)

是:

  

部件以相同的顺序发送到处理代理程序,相应的控件出现在文档流中。部分边界不应出现在任何数据中;如何做到这一点超出了本规范的范围。

http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4