经典ASP上传 - 免费或商业组件?

时间:2011-05-11 17:53:37

标签: windows upload asp-classic

我的ASP上传文件知识大约在2002年。我在64位但是Windows 2003服务器上运行了32位模式的Classic站点。还在32位Win 7盒子上进行测试。

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

我的盒子上也有.NET 3.5,所以如果有一个可能更好的混合解决方案,我可以做到。

我最担心的是我会使用“旧”的东西而且它不可靠。

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

3 个答案:

答案 0 :(得分:2)

您不需要使用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

至少可以说,设置所有这些权限是“有趣的”,但这应该让你开始。

答案 1 :(得分:0)

我曾经为一家销售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

答案 2 :(得分:0)

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