2012-03-21 206 views
2

我剛剛將一個站點從專用服務器移至GoDaddy共享主機帳戶,剛剛遇到大量問題!一個正在ASP上傳。ASP上傳組件 - 經典ASP

在傳統的ASP,這就是我通常會做將文件上傳到我的文件夾:

Set upload = Server.CreateObject("Persits.Upload") 
uploadPath = Server.MapPath("../../files/photos/"&token_&"/") 
upload.IgnoreNoPost = True 
upload.Save(uploadPath) 
Set upload = Nothing 

但自從搬到GoDaddy的,我得到這個討厭的消息:

This feature has been disabled by the system administrator. Use SaveVirtual instead. 

我去在ASP上傳的網站文檔,我找不到SaveVirtual,只有SaveAsVirtual這是我已經成爲脫鉤的地方。

我試過使用SaveAsVirtual,但它拋出一個錯誤,指出我正在使用物理路徑,我應該使用虛擬路徑!我真的不明白這一點,並希望有人能讓我變得直率。我的網站現已被視爲中斷,並處於離線狀態,請幫助。

這是我的物理/虛擬路徑錯誤之前嘗試:

Set upload = Server.CreateObject("Persits.Upload") 
uploadPath = Server.MapPath("../../files/photos/"&token_&"/") 
upload.IgnoreNoPost = True 
upload.SaveAsVirtual(uploadPath) 
Set upload = Nothing 

回答

4

按照docs,該方法被命名爲SaveVirtual。它爲你做Server.MapPath轉換。

所以,儘量:

Set upload = Server.CreateObject("Persits.Upload") 
uploadPath = "../../files/photos/"&token_&"/" 
upload.IgnoreNoPost = True 
upload.SaveVirtual(uploadPath) 
Set upload = Nothing 
+0

非常感謝@RedFilter,你救了我的一天! – TheCarver 2012-03-21 14:27:22

0

爲GoDaddy的,你必須去和更改服務器文件夾權限讀取/寫入。否則,您會收到該錯誤消息。

1

您已經設置上傳文件夾路徑並不需要這樣的「使用Server.Mappath」

請使用下面的代碼中使用。

Set Upload = Server.CreateObject("Persits.Upload") 

Upload.SetMaxSize 10000000 ' Maksimum dosya büyüklüğü Byte cinsinden 
Upload.OverwriteFiles = True 

Path = "../../duyurular/" 
Count = Upload.SaveAsVirtual(Path) 
+0

你有點晚我的朋友。這個問題在20個月前回答了。自這個問題以來,我還沒有使用ASP Classic。如果您回答最近尚未被接受的問題,這可能會有更大的幫助。 – TheCarver 2014-01-07 12:31:28

0

好,我也得遇到這個問題,我只是改變了文件夾的權限從圍棋,爸爸託管服務器,因此任何一個可以閱讀或特定位置寫入文件

非常感謝
Ahsan Aziz Abbasi