2011-05-11 62 views
0

我的ASP上傳文件的知識大約在2002年左右。我有一個64位Windows 2003服務器上運行的32位模式的經典網站。也在32位Win 7盒子上測試。經典的ASP上傳 - 免費或商業組件?

什麼是可能在這種情況下工作的幾個上傳解決方案?我對SQL Server 2005數據庫運行經典ASP 3.0。我更喜歡將文件存儲在數據庫之外。

我也有.NET 3.5對箱,所以如果有可能的工作更好的混合解決方案,我能做到這一點。

我最關注的是,我會使用的東西「老」,這將是不可靠的。

我也想運行某種對文件殺毒時,他們進來。

回答

2

你不需要任何組件使用VBScript上傳:

File Upload using a VBScript Class - CodeProject

我用這個在所有經典ASP網站遷移到2008 RB 64位服務器,只需很少的修改即可在代碼中找到(幾乎)插槽。此外,極少數組件是64位兼容的,並且/或者導致應用程序池僅在適度使用後崩潰。

RE病毒掃描,只要你的系統具有實時保護的A/V解決方案,您都包括在內。否則,你將需要使用shell.execute打電話給你的新上傳文件中的防病毒掃描器:

'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 

在這一切設置權限爲「有趣」,至少可以說,但應該讓你開始。

+0

我可以使用一些指導,是的。以及如何發送通知回到頁面。 – Caveatrob 2011-05-13 04:59:40

+0

添加使用Shell.exec調用進程的示例 – 2011-05-13 09:20:19

+0

@abatishchev編輯的目的是什麼?這不是VBScript中的註釋。 – 2011-06-29 13:55:03

0

我曾經爲一家公司(SoftArtisans)的銷量上傳產品的ASP,FileUp工作。如果你願意爲一個好的解決方案付費,它仍然得到完全支持,我可以證明它的可靠性。這是與現有.NET包裝COM組件,所以你可以在任何解決方案中使用它:

這裏有一個鏈接到一些evals:

http://fileup.softartisans.com/

我不知道所有的競爭對手,但我相信有一個名爲ABCUpload的API。我不知道是誰出售它。

您也可以在本地使用.NET的HttpPostedFile類上傳。有幾個教程可以在網上找到。這裏有一個鏈接到MSDN:

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

0

一個免費的,很好的支持,部分是Pure ASPUpload但是這有一個10MB的文件大小限制。好吧,如果你不需要上傳比這更大的文件。如果你確實有付費版本。