2012-03-21 207 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