2013-03-20 51 views
3

我希望用户上传的所有图像都保存在我的网站目录之外。如何在网站根目录以外存储图像

让我解释一下你所有


假设我有部署在服务器和目录路径的网站是:

例如D:\TestWeb\

这里目前我已经添加到存储图像其他一些目录:

D:\TestWeb\imgProfile 

D:\TestWeb\imgLocation 

D:\TestWeb\Scan 

,但我不希望存储这些我的根目录d内:\ TestWeb \ 我想存储这些成一些其他位置为

E:\img\imgProfile 

E:\img\imgLocation 

E:\img\Scan 

这里我不能够访问此E:\img\imgProfile使用http。

请建议任何逻辑。

+0

你如何托管您的网站? IIS或其他方法?如果IIS使用什么版本的IIS? – 2013-03-20 09:07:07

回答

3

设置在web.config文件

<appSettings> 
    <add key="DocumentationLocation" value="E:\img\imgProfile" /> 
</appSettings> 

在代码路径:

string savePath = ConfigurationSettings.AppSettings["DocumentationLocation"]; 

string filename = Path.GetFileName(FileUploadControl.FileName); 
FileUploadControl.SaveAs(savePath + filename); 
4

您可以在IIS中创建虚拟目录,例如/Images这将指向D:\TestWeb\imgLocation。然后,您只需使用MapPath即可通过使用虚拟路径/Images来获取图像文件夹的物理路径。

+0

但他想保存到一个不属于虚拟文件夹的文件夹中。 – 2013-03-20 09:16:01

+0

@Shekhar你可能想要的是在你的网站的根目录下创建三个虚拟目录('imgProfile','imgLocation'和'Scan')。这些目录将简单地指向E:\驱动器上的目录,并且您将使用MapPath解析虚拟路径(例如'/ imgProfile')到物理路径(在E:\驱动器上)。说得通? – volpav 2013-03-20 09:20:36

+0

它不起作用 – CollectMeNow 2013-05-21 10:51:46

相关问题