检查是否在不使用Request.Form对象的情况下提交表单?

时间:2016-01-15 15:08:26

标签: forms file-upload vbscript asp-classic

有没有办法确定是否提交了带有ID /名称X的表单而没有检查Request.Form对象?

我问的原因是因为我有一些公共代码(在每个页面加载上执行),它检查登录/注销表单是否已经提交,这与一些文件上传页面冲突(因为它需要使用{{1 - 使用Request.binaryRead后无法使用的内容。

人们通常如何处理这个问题?

同样的问题,但没有好的答案。 Access form post Data without request.Form

1 个答案:

答案 0 :(得分:3)

HTML表单元素的enctype属性会影响请求的Content-Type标题,以便您确定提交的表单类型。
因此,您只需要检查HTTP_CONTENT_TYPE服务器变量。

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    'a POST request was made

    If InStr(1, Request.ServerVariables("HTTP_CONTENT_TYPE"), "multipart", vbTextCompare) = 1 Then
        'Content-Type header starts with multipart
        'possible file upload form (<form method=post enctype=multipart/form-data ...)
        'using Request.BinaryRead is OK
    Else
        'ordinary HTML form
        'using Request.Form is OK
    End If
End If