我是靠谱客的博主 怕孤单故事,最近开发中收集的这篇文章主要介绍c# ftp 大文件上传 测试2g通过 ( 利用 ftprequest),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Net;

//ftp 大文件上传 1g往上
public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       //利用ftpwebrequest获取输入流,然后往这个流里写要上传的文件。 需要引用system.net空间
        string filePath = "f:\Svr_2008w_SP2_x86.ISO"; //要上传的文件路径。该文件2g
        string fileName = "Svr_2008w_SP2_x86.ISO";//要上传的文件名称
        string ftpPath = "ftp://111.111.11.111//";//ftp服务器地址
        string username = "test123";//用户名
        string password = "123456";//密码

        FtpWebRequest myRequest = (FtpWebRequest)WebRequest.Create(ftpPath + fileName);//创建ftp请求对象
        myRequest.Credentials = new NetworkCredential(username,password);//设置ftp通讯凭证
        myRequest.Proxy = null;//当你的机子使用的是代理上网时,最好加上这一行,要不然报“使用 HTTP 代理时不支持请求的 FTP 命令。”错误
        myRequest.Method = WebRequestMethods.Ftp.UploadFile;//上传
        //其他参数
        //myRequest.KeepAlive = true;
        //myRequest.UseBinary = true;
        //myRequest.UsePassive = true;

        Stream rStream = null;//ftp请求流
        try
        {
            rStream = myRequest.GetRequestStream();//创建ftp请求流
            FileStream fs = File.OpenRead(filePath);//io流

            int iCount = 2048;
            int iFlag = 0;//读入的字节数
            byte[] myBuffer = new byte[iCount];

            //这里用一个固定的长度2048,也可以改大一点,这里不要用要上传的文件的长度,因为如果文件过大,length的长度超出了int的范围。
            //而fs.Read和 rStream.Write 里面的参数是int类型的,过大就会出错
            do
            {
                iFlag = fs.Read(myBuffer, 0, iCount);
                rStream.Write(myBuffer, 0, iFlag);
            } while (iFlag != 0);

            fs.Close();
            rStream.Close();

            FtpWebResponse myResponse= (FtpWebResponse)myRequest.GetResponse();
            myResponse.Close();

            //参考http://msdn.microsoft.com/zh-cn/library/8exfzxft%28v=vs.90%29.aspx
            //待续
            //需要断点续传
            //需要验证md5值
            //需要关闭连接
        }
        catch (Exception ex)
        {
           
            throw;
        }
    }
}

最后

以上就是怕孤单故事为你收集整理的c# ftp 大文件上传 测试2g通过 ( 利用 ftprequest)的全部内容,希望文章能够帮你解决c# ftp 大文件上传 测试2g通过 ( 利用 ftprequest)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部