当前位置: 首页 > 编程语言 > C#

从字符串或流上传文件到FTP服务器Share

时间:2023-04-10 19:13:00 C#

从字符串或流上传文件到FTP服务器字符串或数据流以及应该用它创建的文件名。有没有办法在流或字符串上的服务器上创建文件(我没有创建本地文件的权限)?字符串位置="ftp://xxx.xxx.xxx.xxx:21/TestLocation/Test.csv";WebRequestftpRequest=WebRequest.Create(location);ftpRequest.Method=WebRequestMethods.Ftp.UploadFile;ftpRequest.Credentials=newNetworkCredential(用户名,密码);字符串数据=csv.getData();MemoryStream流=csv.getStream();//魔术使用(varresponse=(FtpWebResponse)ftpRequest.GetResponse()){}只需将您的流复制到FTP请求流:StreamrequestStream=ftpRequest.GetRequestStream();stream.CopyTo(requestStream);requestStream.Close();对于字符串(假设内容是文本):byte[]bytes=Encoding.UTF8.GetBytes(data);流requestStream=request.GetRequestStream();requestStream.Write(bytes,0,bytes.Length);requestStream.Close();如果内容是文本,应该使用文本模式:request.UseBinary=false;我这样做是为了将xml文件发送到FTP。它工作正常。我认为这就是你所需要的。FtpWebRequest请求=(FtpWebRequest)WebRequest.Create("ftp://XXXXXXXXXX//"+文件名);request.Method=WebRequestMethods.Ftp.UploadFile;request.Credentials=newNetworkCredential("user","pwd");请求.UsePassive=true;请求.UseBinary=true;请求.KeepAlive=真;StreamReadersourceStream=newStreamReader(文件);byte[]fileContents=Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());sourceStream.Close();request.ContentLength=fileContents.Length;流requestStream=request.GetRequestStream();requestStream.Write(fileContents,0,fileContents.Length);requestStream.Close();FtpWebResponse响应=(FtpWebResponse)request.GetResponse();问候!以上就是C#学习教程:从字符串或流上传文件到FTP服务器分享的全部内容。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: