我想在客户端上传一个文件,存储到服务器的数据库中,文件名是通过file Field控件得到的,请问是不是要用到套接字技术实现?在客户端和服务器端怎么实现啊,哪里有相关文章或代码啊?
解决方案 »
- RegisterClientScriptBlock和RegisterStartupScript及Response.Write三种生成JS代码的方法有什么不同(注*除位置外)
- 密码形式问题
- ASP.NET动态Button事件无法响应
- 昨晚我被一个女孩盯上了
- Request.QueryString 的问题!
- gridview 怎么不显示呢?
- 紧急求助,在线等!
- 关于在线编辑WORD,EXCEL等文档的问题。
- 【不好意思哈,小弟没分了,请见凉,问个读文件的问题】
- 由用户动态设定欲查询的字段,查询结果采用哪种控件显示???急!!!(ASP.NET)
- asp.net怎么弹出对话框?
- 在asp.net中代码操作数据库不能编辑与删除,只能读出数据,是不是权限问题,如果是怎么解决?
是关于图片的,道理差不多.
大文件最后不要存在数据库-我也这么认为
是用的MS SQL数据库
直接把文件读为一个byte数组
然后把数组写到数据库中一个image类型的记录中
public int MyDatabaseMethod(string imgName,byte[] imgbin,string filetype,string memo_in,string oldname,int size)
{
try
{
//通过ConfigurationSettings类的静态属性AppSettings,获取Web.config文件中<appSettings>配置节中键(key)的集合
//并将其赋给NameValueCollection类的一个实例str_connection
NameValueCollection str_connection = ConfigurationSettings.AppSettings;
//通过集合str_connection获取连接信息
SqlConnection myConnection= new SqlConnection(str_connection.GetValues("sqlConnection")[0]);
myConnection.Open();
string SQL="INSERT INTO TAB_Savefiles(sWJMC,sKZM,imgWJSJ,sWJBZ,sYWJM,dSCSJ,sWJDX) VALUES (@filename,@filetype,@filedata,@filememo,@oldname,'"
+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //格式化日期
+ @"','" + size.ToString() +@"')"; SqlCommand command=new SqlCommand ( SQL,myConnection);
SqlParameter param0=new SqlParameter ( "@filename", SqlDbType.VarChar,50 );
param0.Value = imgName;
command.Parameters.Add(param0); SqlParameter param1=new SqlParameter ( "@filetype", SqlDbType.VarChar,50 );
param1.Value=filetype;
command.Parameters.Add(param1); SqlParameter param2 =new SqlParameter ( "@filedata", SqlDbType.Image );
param2.Value = imgbin;
command.Parameters.Add(param2);
SqlParameter param3 =new SqlParameter ( "@filememo", SqlDbType.VarChar,100 );
param3.Value = memo_in;
command.Parameters.Add(param3); SqlParameter param4 =new SqlParameter ( "@oldname", SqlDbType.VarChar,50 );
param4.Value = oldname;
command.Parameters.Add(param4);
int numRowsAffected = command.ExecuteNonQuery();
command.Dispose();
myConnection.Close();
myConnection.Dispose();
return numRowsAffected;
}
catch
{
tips.Text = "数据库操作失败~~~~~~~~!";
return 0;
}
}