Post表单但丢失了参数

Post表单但丢失了参数,post,dll,asp-classic,com,64-bit,Post,Dll,Asp Classic,Com,64 Bit,我现在正在进行从x86到x64的操作系统更新 下面是一个.asp项目,它在x86上运行良好,但在x64上运行不佳 问题是x64在post后无法获取表单参数 tgtdir = mySmartUpload.Form("tgtdir").Values tgtdir是空的 IIS设置有问题吗?还是别的什么 如果您有任何想法,请随时留下答案或评论 我写的一些代码是 在Main.asp中 在fileupload.asp中 既然您提供了一些最初缺失的关键信息,我或许可以提供帮助 虽然将Request.F

我现在正在进行从x86到x64的操作系统更新

下面是一个.asp项目,它在x86上运行良好,但在x64上运行不佳

问题是x64在post后无法获取表单参数

tgtdir = mySmartUpload.Form("tgtdir").Values
tgtdir是空的

IIS设置有问题吗?还是别的什么

如果您有任何想法,请随时留下答案或评论

我写的一些代码是

在Main.asp中


在fileupload.asp中


既然您提供了一些最初缺失的关键信息,我或许可以提供帮助

虽然将
Request.Form
Request.binarydead()
结合使用是正确的,但我认为这不是问题所在(源代码的混淆)

事实上,我相信:

那么什么是智能上传?表示“一个32位库,用于促进通过ASP Classic和IIS上传文件。”

更近了

所以我做了一点挖掘(因为我自己不使用aspSmartUpload),结果(根据on)在2008年1月之前的某个时候:

aspSmart系列产品已经停产

虽然这本身并没有什么问题,但它确实让我觉得他们可能没有发布该组件的64位版本,所以问题是试图在64位环境中运行32位COM DLL

我已经说过很多次了,但是要想了解使它工作所需的全部细节,请参阅

奇怪的是,你没有发布错误。如果DLL没有在32位子系统中正确注册,或者IIS站点没有在32位模式下运行它的应用程序池,我预计会出现某种错误


我的建议是按照答案中的步骤进行检查,并对照您的设置进行检查,底部甚至有一个COM DLL检查表供您检查。

您是否使用fileupload.asp中的上载组件?也许你也应该显示该页面的代码。即使我注释掉了更新组件,仍然无法获取参数。由于你没有描述是否出现错误等,所以不清楚发生了什么。已经说过,如果你使用的是上传组件,那么表单(你没有显示,所以只能假设)很可能使用,表示
Request.BinaryRead()
将在
fileupload.asp
中使用。有趣的事实是,一旦调用了
Request.BinaryRead()
,就会使
Request.Form
集合无效,这就是为什么大多数上载组件都提供自己的集合来存储表单参数。这可以解释为什么
Request.Form
调用不起作用。但如果是这种情况,则仍会出现错误,但您甚至没有说您收到了错误。简单地说,这不是一个很好的问题,请尝试回答这个问题以提供一个合适的答案。那么什么是aspSmartUpload?表示“一个32位库,用于通过ASP Classic和IIS方便文件上载。”aspSmartUpload需要两个dll。当我将它放入\\nposvrtw1t2\C$\Windows\SysWOW64并重新注册它们时!很高兴知道,IIS应用程序池已经在32位模式下运行。此外,不需要将DLL移动到SysWOW64目录中。我的首选方法是导航到文件所在的文件夹,然后显式调用regsvr32.exe,在您的示例中,它将是aspSmartUpload目录中的
C:\Windows\SysWOW64\regsvr32 dllfilename.dll
。将DLL移动到系统文件夹中也可以,但这不是必需的。
<HTML>
<HEAD>
  <TITLE></TITLE>
</HEAD>
<BODY topmargin=4  leftmargin=10 bgcolor=wheat>
  <FORM id=form01 name=form01 align=center enctype="multipart/form-data">
    <TABLE width=100% align=center>
      <TR>
      <TH>
        <FIELDSET>
          <TABLE>
            <TR>
              <TD colspan=2>
                <INPUT type=file id=file01 name=file01 style="WIDTH: 400 px" value="Preview">
            <TR>
          </TABLE>
        </FIELDSET>
      </TH></TR>
    </TABLE>    
    <INPUT type=hidden id=tgtdir name=tgtdir value="AAA">
  </FORM>
  <DIV>
    <IFRAME id=frameUpload name=frameUpload >
    </IFRAME>
  </DIV>
</BODY>
</HTML>
<HTML>
<HEAD>
  <TITLE></TITLE>
</HEAD>
<BODY>
<% 
On Error Resume Next
    Dim mySmartUpload
    Dim intCount

    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

    mySmartUpload.CodePage = "utf-8"
    mySmartUpload.Upload

    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    tgtdir = mySmartUpload.Form("tgtdir").Values

    intCount = mySmartUpload.Save(tgtdir & "\") 
%>
</BODY>
</HTML>