.net 访问共享文件夹

匿名 (未验证) 提交于 2019-12-03 00:32:02
最近有个项目,要读取一个共享文件夹上的文件路劲,记录如下:

1、访问共享文件

在这里我定义了一个方法,SelfFileExist(filesrc,filename),这个方法的主要功能就是查看这个我传入的以filename为文件名的文件是否存在与我的filesrc路径之下,当然filesrc就是我的共享文件路径。格式如: \\10.3.2.113\\test\\test

/// <summary>
        /// 查找指定路径的共享文件是否存在
        /// </summary>
        /// <param name="url"></param>
        /// <param name="filename"></param>
        /// <returns></returns>
        private string SelfFileExist(string url,string filename)
        {
            try
            {
                DirectoryInfo di = new DirectoryInfo(url);
                //找到该目录下的文件 
                FileInfo[] fis = di.GetFiles();
                foreach (FileInfo fi in fis)
                {
                    if (fi.Name.Substring(0,fi.Name.LastIndexOf('.')) == filename)
                    {
                        return fi.Name;
                    }
                }
                return "";
            }
            catch(Exception e)
            {
                return "";
            }
        }

该方法返回的fi.Name是带有后缀名称的文件名,我这儿只是遍历一下文件路径下的文件而已,直接查看文件存不存在,可以直接传进路径+文件名判断,也就是:

File.Exists(path)

以上的访问在本地vs里面运行的时候是可以的(前提是你的电脑能够访问这个共享地址哈)。但是呢,这个程序发布到 IIS 上面就不是那么的尽人意了,经过网上搜索出来了很多的解决方案,在这结合自己的成功经历说明一下。如下:

2、IIS上访问共享文件夹

不知道还有没有变得办法,在这里我使用的是添加虚拟目录的方式实现的。具体如下:

举个例子:两台服务器A,B。A是文件服务器,B是网站所在的服务器,那么在A服务器上设置文件共享是必须的吧,(1)设置的时候咱设置了一个共享的账号密码---->(2)然后呢在应用程序池里面添加刚才设置的账号密码--->(3)添加虚拟目录--->(4)web.config里面设置:

 <system.web>     <!--<identity impersonate="true"/>-->      <identity impersonate="true" userName="您的账号" password="您的密码" />     <compilation debug="true" targetFramework="4.5" />     <httpRuntime targetFramework="4.5" />   </system.web> 
这样基本OK了,我也想上传图片,但是公司网不允许上传。。。。。所以在这里有一个网址,里面就是这些操作,对于创建共享文件夹的第2步:



转载请标明出处:.net 访问共享文件夹
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!