最近编写了一段代码,通过外网服务器向边界服务器上传文件时,发现文件无法上传?本地两台电脑测试是可以。
上传代码: //①在FTP上创建一个空文件:
                FtpWebRequest request = SetFtpConfig(WebRequestMethods.Ftp.UploadFile, FileDir, FileName);//创建空文件
                //②读取本地文件的内容,转化成流:
                FileStream fs = new FileStream(localFileName, FileMode.Open, FileAccess.Read);//打开本地文件
                int buffLength = 20480;//缓存大小,单位byte
                byte[] buff = new byte[buffLength];//数据包
                var contentLen = fs.Read(buff, 0, buffLength);//每次读文件流的kb     
                //③将本地文件的内容,写入到FTP上空文件中去:
                Stream strm = request.GetRequestStream(); //把上传的文件写入本地文件的流    
            
                while (contentLen != 0)//流内容没有结束,循环  
                {
                 
                    strm.Write(buff, 0, contentLen);// 把内容从file stream 写入upload stream  
                    contentLen = fs.Read(buff, 0, buffLength);//读取流
                }
                //④关闭IO
                strm.Close();
                fs.Close();
                return true;//返回成功通过流的方式写入,发现两个问题:
1.通过iis创建的ftp站点,上传时报  “”远程服务器返回错误: (501) 参数或变量中有语法错误。“
2.通过server u搭建ftp站点时,文件可以传上去,但是文件大小是0kb,无法将流写入文件。请教大神什么原因?
注:这个外网服务器和边界服务器是做了证书的,外网服务器可以向边界服务器上传文件,但是边界服务器不可以向外网传文件?是不是边界服务器做什么限制了?本地测试,同样代码ok,可以说上传,到了这个正式环境,就上传不上去?