ftp文件无法上传?请教
最近编写了一段代码,通过外网服务器向边界服务器上传文件时,发现文件无法上传?本地两台电脑测试是可以。
上传代码: //①在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,可以说上传,到了这个正式环境,就上传不上去?