将文件保存到虚拟目录

4

您好,我不确定如何操作,目前使用的是共享主机。我的虚拟目录位于http://www.example.com/images,实际上这个目录是服务器上的一个文件夹assets/images,而我的网站位于/httpdocs目录下(httpdocs和assets文件夹在同一层级)。

我该如何将文件保存到该文件夹中,并通过/images/foo.jpg等方式进行访问?

httpdocs/
--web.config
--default.aspx
--etc

assets/
--images/
----foo.jpg

2个回答

8

您可以正常保存文件(使用FileStream或其他方法)。
调用Server.MapPath("~/httpdocs")获取磁盘上的路径。


要将文件保存到网站目录之外的assets/images目录中,应该使用Server.MapPath("~/assets/images/")吗? - raklos
@raklos:它在网站目录之外怎么样? - SLaks
httpdocs和assets位于同一级别。因此,assets文件夹位于网站之外。请参见编辑后的问题。 - raklos
如果虚拟目录在 httpdocs 中创建了 "images" 目录(我假设这里的虚拟路径将是 /httpdocs/images),则在 default.aspx 中,路径将是 Server.MapPath("~/images")。虚拟目录本身将在 IIS 中设置,路径为.../assets/images。 - NickSuperb
如果虚拟目录存在于另一个服务器上怎么办? - sarfarazsajjad

3
最简单的方法是在IIS管理器中创建一个虚拟目录,这样/images实际上指向assets\images(你说你已经有一个虚拟目录了,所以这可能已经完成了)。要保存文件,您可以使用Server.MapPath(“~/images”),就像SLaks提到的那样。 Server.MapPath会给您物理位置,您可以像通常保存文件一样保存它。
如何保存取决于上传者使用的方式。您是否使用表单让某人选择文件,然后在网页上提交它?如果是这样,this link将帮助您完成保存部分。
祝好运。 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接