问题笔记:.net向ubuntu系统中上传文件

最近遇到一个需求,就是两天服务要互相传递附件,但一个服务器微软server2008r2,另一个是国产麒麟系统(这里我用的ubuntu模仿,应该大同小异):

1.首先安装vsftpd软件,在terminal下输入:$ sudo apt-get install vsftpd 回车直接安装,一般安装好后vsftpd是自动运行的,下边是操作

sudo service  vsftpd start   #开始
sudo service  vsftpd stop    #关闭
sudo service  vsftpd restart   #重启

2.配置vsftpd,

sudo nano /etc/vsftpd.conf 打开文件

#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#允许上传
write_enable=YES
#用户只能访问限制的目录
chroot_local_user=YES
 (后来经过测试这个配置最好不要加)
#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
local_root=/home/ftp

如上把相关行配置好,最后一行也可以不用加

3.访问代码

其他的我就不写,建立用户啥的我都没有用,只看核心:

 // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://192.168.217.128/Documents/test111.txt");
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential("handong", "1");

            // Copy the contents of the file to the request stream.
            StreamReader sourceStream = new StreamReader("D:/testfile.txt");
            byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
            sourceStream.Close();
            request.ContentLength = fileContents.Length;

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(fileContents, 0, fileContents.Length);
            requestStream.Close();

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);

            response.Close();

这样做直接把d潘霞的testfile.txt文件上传到服务器上documents文件夹下并且重命名为test111.txt

转载于:https://my.oschina.net/handong9622/blog/724771

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值