当前位置:编程学习 > C#/ASP.NET >>

asp.net 上传大文件到ftp

如题,我要在程序的web页面上传文件到指定的ftp站点,是大文件,1G左右,该如何实现呢,网上有很多flash插件,但是都是上传到本地的目录的,或者用代码该如何实现呢,哪一种效率高点呢?在线急等 --------------------编程问答-------------------- 没人看帖子吗???在线等啊,急 --------------------编程问答-------------------- 亲 别着急 答案来了


/// <summary>
        /// 在上传文件时同时将数据存入数据库所做的事务操作,返回是否操作成功
        /// </summary>
        /// <param name="cmdText">insert命令</param>
        /// <param name="myParams">sql参数数组</param>
        /// <param name="file">文件上传组件</param>
        /// <param name="fileName">保存的文件名</param>
        protected bool RunTranscation(string cmdText, OleDbParameter[] myParams, FileUpload file,string fileName)
        {
            string connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["McmConnection"].ToString();//连接数据库字符串
            OleDbConnection conn = new OleDbConnection(connectionString);//新建连接
            conn.Open();//打开连接
            OleDbTransaction otran = conn.BeginTransaction();//开启事务
            OleDbCommand cmd = new OleDbCommand(cmdText, conn);//创建命令
            cmd.Transaction = otran;//设置命令的事物为otran

            int result = 0;//判断插入数据库是否成功

            //为cmd添加参数
            foreach (OleDbParameter param in myParams)
            {
                cmd.Parameters.Add(param);
            }

            try
            {
                result=cmd.ExecuteNonQuery();//执行插入操作
                if (result == 1)//如果插入成功
                {
                    //string fileName = file.FileName;//文件名
                    //string sNewFileName = DateTime.Now.ToString("yyyyMMddhhmmsfff");//以时间来重命名图片
                    //string sExtension = file.FileName.Substring(file.FileName.LastIndexOf('.'));//图片的后缀名
                    //file.SaveAs(uploadPath + sNewFileName + sExtension);//保存图片文件
                    //string filePath = "../Uploads/" + folderName + "/" + sNewFileName + sExtension;//上传到Uploads文件夹的不同的文件夹下


                    file_pastPaper.SaveAs(Server.MapPath("../"+fileName));//上传到文件夹中
                    otran.Commit();//提交事务
                    return true;
                }
                otran.Rollback();//回滚事务,操作失败
            }
            catch (Exception se)
            {
                //Response.Write("<script>alert('"+se.Message+"')</script>");\
                //Response.Write("<script>alert('"+se.Message.ToString()+"')</script>");
                otran.Rollback();//回滚事务
                return false;
            }
            finally
            {
                conn.Close();
            }

            return false;
        }

 


--------------------编程问答-------------------- 这不是我要用答案啊,我要的是上传控件或者代码,但是你这代码行不通的,最好带进度条的 --------------------编程问答-------------------- 在线等啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 现在网上的Flash控件一般都不支持FTP协议,一般是支持HTTP协议的。到是看到过一个FTP文件上传控件。是基于FTP协议开发的。有文件上传进度。而且用户体验和QQ邮箱中的大文件上传控件差不多。

此控件是基于标准FTP协议实现的文件上传功能。支持10G大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。
另外一个特点是支持自动上传指定的本地文件


--------------------编程问答--------------------
引用 6 楼 zdwlosunlht 的回复:
现在网上的Flash控件一般都不支持FTP协议,一般是支持HTTP协议的。到是看到过一个FTP文件上传控件。是基于FTP协议开发的。有文件上传进度。而且用户体验和QQ邮箱中的大文件上传控件差不多。

此控件是基于标准FTP协议实现的文件上传功能。支持10G大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。
另外一个特点是支持自动上传指定的本地文件

这控件不错。目前我们公司也有个相同的需求。能不能把地址发一下。谢谢。 --------------------编程问答--------------------
引用 7 楼 z1ootwo 的回复:
引用 6 楼 zdwlosunlht 的回复:

现在网上的Flash控件一般都不支持FTP协议,一般是支持HTTP协议的。到是看到过一个FTP文件上传控件。是基于FTP协议开发的。有文件上传进度。而且用户体验和QQ邮箱中的大文件上传控件差不多。

此控件是基于标准FTP协议实现的文件上传功能。支持10G大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。
另外一个特……

我在网上看到一个FTP文件上传控件。和上面的一样。你可以找一下。http://www.cnblogs.com/xproer/archive/2010/04/17/1714073.html --------------------编程问答-------------------- 大文件不要放在内存就行了。FTP也支持断点续传啊 --------------------编程问答--------------------
引用 6 楼 zdwlosunlht 的回复:
现在网上的Flash控件一般都不支持FTP协议,一般是支持HTTP协议的。到是看到过一个FTP文件上传控件。是基于FTP协议开发的。有文件上传进度。而且用户体验和QQ邮箱中的大文件上传控件差不多。

此控件是基于标准FTP协议实现的文件上传功能。支持10G大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。
另外一个特点是支持自动上传指定的本地文件


请问你这个是什么控件啊,可以把链接给我一下吗? --------------------编程问答--------------------
引用 9 楼 chinajiyong 的回复:
大文件不要放在内存就行了。FTP也支持断点续传啊


如果不放在内存中,那该怎么做呢,我新手,可以详细解释下吗?ftp断点续传的方法是什么啊? --------------------编程问答--------------------
引用 6 楼 zdwlosunlht 的回复:
现在网上的Flash控件一般都不支持FTP协议,一般是支持HTTP协议的。到是看到过一个FTP文件上传控件。是基于FTP协议开发的。有文件上传进度。而且用户体验和QQ邮箱中的大文件上传控件差不多。

此控件是基于标准FTP协议实现的文件上传功能。支持10G大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。
另外一个特点是支持自动上传指定的本地文件


你这个根本不行,人家是产品啊,根本没公开dll --------------------编程问答-------------------- 去搜搜偶看,有.Net的断点续传demo的,好像在51aspx上有找到过 --------------------编程问答-------------------- 求救啊,还没有人帮我吗? --------------------编程问答-------------------- 继续在线等。。。。。。。。。。 --------------------编程问答-------------------- 还是没有大侠帮忙啊,天。。。。
--------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,