【转】C#的FTP上传函数问题

来源:互联网 发布:mac office账号注销 编辑:程序博客网 时间:2024/06/04 20:14

转自:http://bbs.csdn.net/topics/330260539

FTP上传函数如下,可以确定代码无错

internal bool Upload(string fileName, string uploadUrl,string UserName,string Password)

{//fileName上傳的檔案ex : c:\abc.xml , uploadUrl上傳的FTP伺服器路徑ftp://127.0.0.1,UserName使用者FTP登入帳號 , Password使用者登入密碼

Stream requestStream = null;

    FileStream fileStream = null;

    FtpWebResponse uploadResponse = null;

    try

    {

        FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(uploadUrl);

        uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;//設定Method上傳檔案

        uploadRequest.Proxy = null;

        if (UserName.Length > 0)//如果需要帳號登入

        {

            NetworkCredential nc = new NetworkCredential(UserName, Password);

            uploadRequest.Credentials = nc; //設定帳號

        }

        requestStream = uploadRequest.GetRequestStream();

        fileStream = File.Open(fileName, FileMode.Open);

        byte[] buffer = new byte[1024];

        int bytesRead;

        while (true)

        {//開始上傳資料流

            bytesRead = fileStream.Read(buffer, 0, buffer.Length);

            if (bytesRead == 0)

            break;

            requestStream.Write(buffer, 0, bytesRead);

        }

        requestStream.Close();

        uploadResponse = (FtpWebResponse)uploadRequest.GetResponse();

        return true;

    }

    catch (Exception ex)

    {

        throw new Exception(ex.Message);

    }

    finally

    {

        if (uploadResponse != null)

        uploadResponse.Close();

        if (fileStream != null)

        fileStream.Close();

        if (requestStream != null)

        requestStream.Close();

    }

}


现有一FTP服务器IP:127.0.0.1 用户名:admin 密码:admin 要实现上传功能该如何?我帖出我的代码,请大家帮忙指正

        private void button_Click(object sender, EventArgs e)
        {
           Stream myStream;
           OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = "C:\\";
            openFileDialog1.Filter = "xls files (*.xls)|*.xls|doc files (*.doc)|*.doc";
            openFileDialog1.FilterIndex = 2;
            openFileDialog1.RestoreDirectory = true;

            if ((myStream = openFileDialog1.OpenFile()) != null)
            {

                Upload(openFileDialog1.FileName, "ftp://127.0.0.1", "admin", "admin");
                myStream.Close();
            }
        }


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

0 0
原创粉丝点击