【问题标题】:Classic ASP upload - free or commercial components?经典 ASP 上传 - 免费还是商业组件?
【发布时间】:2011-05-19 18:24:55
【问题描述】:

我的 ASP 文件上传知识大约在 2002 年左右。我有一个经典站点,在 64 位但 Windows 2003 服务器上以 32 位模式运行。还在 32 位 Win 7 机器上进行测试。

有哪些上传解决方案可能适用于这种情况?我正在针对 SQL Server 2005 数据库运行 Classic ASP 3.0。我更喜欢将文件存储在数据库之外。

我也有 .NET 3.5,所以如果有可能更好的混合解决方案,我可以这样做。

我主要担心我会使用“旧”的东西,而且它不可靠。

我还想在文件进入时对其运行某种防病毒软件。

【问题讨论】:

    标签: windows upload asp-classic


    【解决方案1】:

    您不需要使用 VBScript 上传任何组件:

    File Upload using a VBScript Class - CodeProject

    我在所有迁移到 2008 RB 64 位服务器的经典 ASP 站点上都使用了它,并且发现它(几乎)就在您的代码中,几乎没有修改。此外,极少数组件是 64 位兼容的和/或仅在适度使用后导致应用程序池崩溃。

    RE 病毒扫描,只要您的系统具有具有实时保护的 A/V 解决方案,您就可以得到保障。否则,您将需要使用 shell.execute 对新上传的文件调用 AV 扫描仪:

    'Create new instance of the vbsUpload object'
    set objUpload = new vbsUpload
    
    'Generate the full path to save the file to'
    strNewFileName = Server.MapPath("/uploads") & "\" & objUpload.files.Item(0).FileName
    
    'Save the file to disk'
    objUpload.Files.Item(0).Save strNewFileName
    Set objUpload = Nothing
    
    'File is now saved, run a/v scanner on it'
    Set objWShell = CreateObject("WScript.Shell") 
    
    'Run the scanner on the filename created above'
    Set objCmd = objWShell.Exec("c:\myscanner\scan.exe -parameters " & strNewFileName) 
    
    'Get the stdout from the process'
    strOutput = objCmd.StdOut.Readall() 
    Set objCmd = Nothing
    Set objWShell = Nothing
    

    至少可以说,为所有这些设置权限“很有趣”,但这应该可以帮助您入门。

    【讨论】:

    • 我可以使用一些指导,是的。以及如何将通知发送回页面。
    • 添加了使用 Shell.exec 调用进程的示例
    • @abatishchev 您编辑的目的是什么?这不是 VBScript 中 cmets 的工作方式。
    • 在 SO 上使用的代码荧光笔中存在一个众所周知的问题,即未以 ' 结尾的 VB cmets 未正确解析
    【解决方案2】:

    我曾在一家销售 ASP 上传产品 FileUp 的公司 (SoftArtisans) 工作。如果您愿意为一个好的解决方案付费,它仍然得到完全支持,我可以证明它的可靠性。它是一个带有可用 .NET 包装器的 COM 组件,因此您可以在任一解决方案中使用它:

    这是一些评估的链接:

    http://fileup.softartisans.com/

    我不知道所有的竞争对手,但我相信有一个名为 ABCUpload 的 API。不知道是谁卖的。

    您还可以使用 HttpPostedFile 类在 .NET 中本地上传。您可以在网上找到一些教程。这是 MSDN 的链接:

    http://msdn.microsoft.com/en-us/library/system.web.httppostedfile.aspx

    【讨论】:

      【解决方案3】:

      Pure ASPUpload 是一个免费且支持良好的组件,但它有 10mb 的文件大小限制。好的,如果您不需要上传比这更大的文件。如果你这样做,他们有付费版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-10
        • 2011-04-15
        • 2014-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多