我的ASP上传文件知识大约在2002年。我在64位但是Windows 2003服务器上运行了32位模式的Classic站点。还在32位Win 7盒子上进行测试。
在这种情况下可能有哪些上传解决方案?我正在针对SQL Server 2005数据库运行Classic ASP 3.0。我更喜欢将文件存储在数据库之外。
我的盒子上也有.NET 3.5,所以如果有一个可能更好的混合解决方案,我可以做到。
我最担心的是我会使用“旧”的东西而且它不可靠。
我还想在文件进入时对它们运行某种防病毒软件。
答案 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的文件大小限制。好的,如果您不需要上传大于此的文件。如果你这样做,他们有付费版本。