请问该如何操作共享文件夹,文件总是无法写入可写的共享文件夹中。权限该如何配置,不要模拟用户实现!

解决方案 »

  1.   

    1.创建操作文件的用户例如:datamanager,设密码,隶属于user
    2.建立共享文件夹例如:DataUpload,
       给datamanager完全控制的本地权限和完全控制的共享权限
       删除默认分配给user的共享权限
    3.在web站点下创建虚拟路径如:DataStorage,
      如果是本地的就创建本地路径,
      如果是其他计算机的就选择“另一台计算机上的共享”,并输入datamanager及其密码
    4.在数据库中设置正确的上传下载路径
      

  2.   

    可能我没说清楚,情景是这样子的:2台机器,一台是web服务器A,另一台是数据服务器B,B存放上传文件和安装数据库,现在B有个共享文件夹uploading,用户访问A上传文件,把文件上传至B的uploading文件夹下,我把uploading映射为A的Y盘符,现在上传后, 进行Directory.CreateDirectory操作时,出现异常。
      

  3.   

    我试了下:在web站点下创建虚拟路径如:DataStorage, 
      如果是本地的就创建本地路径, 
      如果是其他计算机的就选择“另一台计算机上的共享”,并输入datamanager及其密码 这样子,在vs开发环境下可以上传了,但一旦发布到iis下,还是不行。
      

  4.   

    webserver、fileserver、dbserver可以是分散在www上的,别说是局域网了
      

  5.   

    这跟AJAX没有关系吧~创建文件夹不成功,肯定跟你的权限有关,在你的文件夹上添加internet来宾用户,并给足权限!
      

  6.   

    客户的webserver放在DMZ区,dbserver和fileserver若干台,都在内网
      

  7.   

    microtry我想你是不是从本地路径操作文件夹了,那当然发布以后就不行了怎解?
      

  8.   

    呵呵,本地路径最多提供client下载能力,别说不可以上传,就是能我也不允许这种情况出现;
    比如:其实那个文件夹真实的共享名叫做aaa,
    比如站点叫websuit,你在websuit下又建了个虚拟路径叫做upload,
    上传路径就是虚拟路径啊:/websuit/upload
      

  9.   

    哦,我来解释一下,我的上传功能是通过ftp进行上传的,即我们自己的ftp控件来进行上传,ftp的目录指定到网络驱动器。
      

  10.   

    那跟我讲的就不是一回事了,ftpserver没做过,
      

  11.   

    做ftp是要共享的么?不是用ftp服务器?这个真的不懂
      

  12.   

    实在不好意思,表达不清楚。我用iis设置的ftp,其中把ftp虚拟目录指定为该共享文件夹,web程序通过ftp上传文件至该ftp下,ftp下有2个文件夹,一个是a,一个b,其中首先把文件传至a下,处理后的文件再移动b下,现在a可以上传了,让我在b下写Directory.CreateDirectory操作时,出现异常。
      

  13.   

    现在好像问题比较明确了,就是在aspx程序下,如何对一个共享文件夹进行写操作。应该如何配置权限?
      

  14.   

    大概明白你的意思了,但是你既然在web程序里操作dir,那就不能操作本地路径啊,
    你要是访问共享路径对于文件系统都是LocalDir啊,你在开发时扮演的是本地帐户,所以可以,
    我理解发布以后肯定不行的,
    还有就是提升匿名账户权限,这跟模拟帐户的方法本质是一样的,不过换了我肯定不会这样做,我肯用户也不肯,
    你在程序里不能操作虚拟路径吗?
      

  15.   

    1.创建操作文件的用户例如:datamanager,设密码,隶属于user 
    2.建立共享文件夹例如:DataUpload, 
      给datamanager完全控制的本地权限和完全控制的共享权限 
      删除默认分配给user的共享权限 
    3.在web站点下创建虚拟路径如:DataStorage, 
      如果是本地的就创建本地路径, 
      如果是其他计算机的就选择“另一台计算机上的共享”,并输入datamanager及其密码 
    4.在数据库中设置正确的上传下载路径我现在这么操作的,一台是web服务器A,另一台是数据服务器B,B存放上传文件和安装数据库, B下共享一个文件D:\\test,D:\\test文件夹下有A和B2个子文件夹,计划是把文件传到B后,稍作处理,移动A下。我在B下建立一个用户1,密码是1,隶属于user 
    给用户1完全控制的本地权限和完全控制的共享权限 
      删除默认分配给user的共享权限 在web站点下创建虚拟路径如:DataStorage, 
       如果是其他计算机的就选择“另一台计算机上的共享”,并输入1及其密码1 结果是:在vs环境下没有问题,发布到iis下,文件能上传至B下,但我在A下写Directory.CreateDirectory操作时,出现异常。 
      

  16.   

    to microtry提升匿名账户权限,我提升了还是不行
      

  17.   

    不能急了:你要create的是虚拟路径,比如:/websuit/upload ,
    而不是\\user1\FTP
      

  18.   

    我一直没搞懂
    在C:\、D:\下
    create文件夹没啥问题,是发布后哦,
    一到共享文件夹就不行了,跟虚拟路径有啥关系呢?
      

  19.   

    你没崩溃我都崩溃了,一句话要跟你讲n遍,请你要仔细研读别人的回复你在开发时扮演的是本地帐户,所以可以C:\、D:\甚至\\computer\dir但是发布以后肯定不行的, 你在网站里,所以只能从虚拟路径访问,而一开始就是教你怎么设置和创建具备访问权限的虚拟路径;如果网站能匿名访问本地文件系统(局域网共享以及VPN视同本地),那岂不是太不安全了
      

  20.   

    你也仔细看我写的,在C:\、D:\下 
    create文件夹没啥问题,是发布后哦, (是发布以后的,不是开发环境)
    一到共享文件夹就不行了,跟虚拟路径有啥关系呢?
      

  21.   

    我最后再说一遍:web应用程序如果你这样做:
    string path = @"c:\MyDir";
    Directory.CreateDirectory(path);
    发布以后行不通;如果你设好的虚拟路径是:/websuit/upload ,代码这样写:
    string path = @"/websuit/upload";
    Directory.CreateDirectory(path);
      

  22.   

    问题解决了,是这样子处理的原先我一直映射\\user\sharefolder为Z:,结果总是在Z盘符下无法写入,模拟用户连接也是不行,后来不要网络驱动器Z,直接用\\user\sharefolder,就可以了,这也解决了一个疑惑,就是在iis下,建立ftp时,是无法选择Z盘符的,只能通过\\user\sharefolder。anyway,非常感谢microtry的积极回答,尽管没解决我的问题,还是非常感谢的。microtry老说
    我最后再说一遍:web应用程序如果你这样做: 
    string path = @"c:\MyDir"; 
    Directory.CreateDirectory(path); 
    发布以后行不通; 但实际上,我这里真的可以写入,发布以后的。也许是我机器权限设置的问题吧。