文件上传FTP。流文件方式上传FTP

FtpServerIP:FTPIP。FtpUser:登录名。FtpPsw:密码。bytes:流文件。filename:文件名称。

public bool UploadFileAndroid(String FtpServerIP, String FtpUser, String FtpPsw, byte[] bytes, String filename, out String oErrMessage)
    {
        oErrMessage = null;
        //FTP目录
        String FTPDirectory;
        try
        {
            //连接FTP
            FTPUtil ftpUtil = new FTPUtil(FtpServerIP, "", FtpUser, FtpPsw);
            FTPDirectory="20191008";//文件的存放路径
            //文件路径
            ftpUtil.GotoDirectory(FTPDirectory,true);
            FtpWebRequest frequest = null;
            if (!ftpUtil.FileExist_1(ftpUtil.ftpuri))
            {
                frequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpUtil.ftpuri));
                frequest.Credentials = new NetworkCredential(FtpUser, FtpPsw);
                frequest.Method = WebRequestMethods.Ftp.MakeDirectory;
                FtpWebResponse response = frequest.GetResponse() as FtpWebResponse;
                //frequest.KeepAlive = false;
            }

            FtpWebRequest frequest1 = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpUtil.ftpuri + "/" + filename));
            frequest1.Credentials = new NetworkCredential(FtpUser, FtpPsw);


            frequest1.KeepAlive = false;// 默认为true,连接不会被关闭 // 在一个命令之后被执行

            //frequest.KeepAlive = false;

            frequest1.Method = WebRequestMethods.Ftp.UploadFile;// 指定执行什么命令

            frequest1.UseBinary = true;// 指定数据传输类型

            frequest1.ContentLength = bytes.Length;// 上传文件时通知服务器文件的大小


            Stream strm = frequest1.GetRequestStream();
            strm.Write(bytes, 0, bytes.Length);
            
            strm.Close();

            return true;
        }
        catch(Exception ex)
        {
            oErrMessage = "错误信息" + oErrMessage+ ex.Message;
            return false;
        }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值