转自:http://www.cnblogs.com/dansediao/p/5712657.html
要求说明:
通过网站上传文件保存到统一的文件服务器上。
服务器说明:
1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213
2.Web服务器为以下称为WebServer,IP地址为:192.168.1.214
详细步骤:
(1)在FilesServer和WebServer上分别新建一个新用户,要求这两个用户的用户名和密码均相同,具体创建过程不再赘述。列如我创建的用户名是File_Share,密码为Share123
(2)在FilesServer上建立一个文件夹用来存储上传的文件,我这里新建了Share文件夹;然后将该文件夹设置为共享文件夹,具体步骤为(Windows Server 2012 Standard为例):
1)在Share文件加上右键——属性,选择共享选项卡,单击点共享按钮,在弹出的对话框中单击下拉列表,选择刚刚新建的File_Share用户。
2)根据自己的需要给File_Share用户添加读取/写入权限,然后单击共享按钮弹出对话框后点完成
3)返回Share属性对话框,单击高级共享--全限--添加--高级--立即查找
4)选中File_Share用户,单击确定,再单击确定来到以下的对话框,选中File_Share用户,根据需要加上完全控制等权限,然后确定。然后再两次一路确定,最终完成分享文件夹。
(3)在WebServer的IIS的网站上右键--新建虚拟目录,别名随你喜欢,路径按照下图填,然后点击连接为,在连接为对话框中选特定用户,然后单击设置,填入File_Share的用户名和密码,然后一路确定。
(4)回到IIS主界面,双击身份验证
(5)选中匿名身份验证--编辑--设置填入File_Share的用户名和密码,一路确定。
(6)如果是网站是.net版本,那么必须修改应用中的Web.config文件,<system.web>配置节中加入绿色部分<identity impersonate="true" ></identity>。
<system.web> <identity impersonate="true" ></identity><!--加入这一部分-->
<identity impersonate="true" userName="File_Share" password="
Share123
" />
<!--不加用户名密码还是不行-->
<compilation debug="true" targetFramework="4.5.2"/> <httpRuntime targetFramework="4.5.2"/> <httpModules> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"/> </httpModules> </system.web>
PS:
1、关于虚拟目录在网站里的使用和普通的目录是一样的,string path = Server.MapPath("~/Files/")取到了path是 "\\\\192.168.1.213\\Share\\" 这个字符串
2、本文参考了两篇文章结合自己的电脑做了部分修改,亲测可用,下面给出参考文章地址。
1)IIS站点/虚拟目录中访问共享目录(UNC)http://blog.csdn.net/woshisadshiwo/article/details/6888807
2)急急急,设置iis虚拟目录-指向局域网另一台电脑上共享文件夹问题,请高手帮忙解决!http://bbs.csdn.net/topics/390733877
如果还是有问题:可以使用在服务器本地调试,这样可以看到具体问题所在处,有时并不一定是文件共享的问题,可能是程序本身的问题!!!