asp.net 上传大文件到ftp 如题,我要在程序的web页面上传文件到指定的ftp站点,是大文件,1G左右,该如何实现呢,网上有很多flash插件,但是都是上传到本地的目录的,或者用代码该如何实现呢,哪一种效率高点呢?在线急等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 亲 别着急 答案来了/// <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大小文件的断点续传,用户体验非常好,特别适合有超大文件上传需求的项目。另外一个特点是支持自动上传指定的本地文件 我在网上看到一个FTP文件上传控件。和上面的一样。你可以找一下。http://www.cnblogs.com/xproer/archive/2010/04/17/1714073.html 大文件不要放在内存就行了。FTP也支持断点续传啊 如果不放在内存中,那该怎么做呢,我新手,可以详细解释下吗?ftp断点续传的方法是什么啊? 你这个根本不行,人家是产品啊,根本没公开dll 去搜搜偶看,有.Net的断点续传demo的,好像在51aspx上有找到过 如何将自定义的表更新到数据库中?? 请教vs2005开发.net问题! 有谁知道DataTable跨行跨列啊 使用tabstrip如何打开带参数的页面? 留言板 c#,怎么能随机生成个,不同大小的网页 DataGrid中选择列的小问题 DataList的模板套DataGrid如何取得DataGrid的模板列中的TextBox的值! MIME 各位大神,js里面如何调用.cs的后台代码 !!!httpwebrequest如何获取当前请求的cookie(在线等) 一个新手的求救声
/// <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;
}
另外一个特点是支持自动上传指定的本地文件
如果不放在内存中,那该怎么做呢,我新手,可以详细解释下吗?ftp断点续传的方法是什么啊?
你这个根本不行,人家是产品啊,根本没公开dll