问题如下:
我用delphi自带的NMFTP下载控件,但是不知道为什么我能实现下载却无法上传,提示访问拒绝,实在找不到原因,很着急,希望大哥出手帮小弟一把。
下载代码如下,能实现,没有任何问题
NMFTP1.Host := '127.0.0.1';
NMFTP1.UserID := 'administrator';
NMFTP1.Password := '';
NMFTP1.port := 21;
NMFTP1.Connect();
NMFTP1.Download('rikky.txt','d:\\rikky.txt'); 
上传,就不行了
NMFTP1.Host := '127.0.0.1';
NMFTP1.UserID := 'administrator';
NMFTP1.Password := '';
NMFTP1.port := 21;
NMFTP1.Connect();
NMFTP1.Upload('d:\\rikky.txt','rikky.txt'); //运行到这里提示,access denied,应该是访问被拒绝。
如果加上:NMFTP1.MakeDirectery('myfiles');//运行到这也出现同样的错误。访问被拒绝。
我个人觉得好象是只能从ftp上读东西,而不能更改和写入东西。但是我没有更改过任何目录属性和权限,我自己机子上ftproot目录也是对everyone是完全控制的。急死了,我实在找不到原因,我又不能发贴,希望大哥能帮我解决,真是非常感谢。在线急等!再次谢

解决方案 »

  1.   

    我现在是本机调试,而且我对iis设置也不熟悉,能不能说详细点,在哪里设置,拜托了,大哥,我都急死了
      

  2.   

    呵呵,估计你的FTP用户没有写的权限;
      

  3.   

    我用的administrator登陆的啊,是我本机调试啊ftp的用户权限在哪里设置啊,楼上的大哥,我都急死了,就多指点一下吧,多谢了
      

  4.   

    主动模式就是始终连接21和20端口,
    客户端,连接服务器21端口发送指令,如果传文件需要连接20端口(二进制时),Ascii传文件直接连接21。
    IIS就是这种。
    被动模式:
    首先连接21,然后发送命令,服务器会反过来告诉你连接服务器的那个端口接收/发送文件。
    这个时候再连接那个端口就可以发送/接受文件了。Serv-U一般都是这样。如果IIS直接用就行了。
    应该不会出什么问题,如果要写成大众化的,建议看一下FTP命令和协议。
      

  5.   

    to kiboisme(还是铁棒.....针) 
      我是用iis的,因为以前没使用过这东西,所以应该说不会
     你说的我有点明白,又不是很明白,
    按照你说的“主动模式,、、、如果传文件需要连接20端口(二进制时),”那我下面的代码是不是端口号设错了啊,是不是改写成20啊上传,就不行了
    NMFTP1.Host := '127.0.0.1';
    NMFTP1.UserID := 'administrator';
    NMFTP1.Password := '';
    NMFTP1.port := 21;
    NMFTP1.Connect();
    NMFTP1.Upload('d:\\rikky.txt','rikky.txt'); //运行到这里提示,access denied,应该
      

  6.   

    access denied 应该是那个文件夹不能写,iis必须把那个文件夹设置成iusr_机器名 的用户有写权限,ftp才能写。
    被动模式和主动模式设置有错误的表现是:连接不很久没有反应。