上传文件并插入数据库中
来源:互联网 发布:文明5 mac 秘籍 编辑:程序博客网 时间:2024/05/18 02:11
public class myUpFile
{
//"server=.;uid=sa;pwd=;database=pubs";
private static string scn = ConfigurationSettings.AppSettings["strcn"].ToString();
private static SqlConnection cn = new SqlConnection(scn);
public myUpFile() {}
/// <summary>
/// 上传文件到数据库
/// 参数:
/// strCn 连接字符串 省略
/// strSql 数据查询 @Img,@sType,@Len
/// HPF HttpPostedFile 上传文件控件
/// 返回:文件名
/// </summary>
public static string UpFile(string strSql, HttpPostedFile HPF)
{
string fn = HPF.FileName.ToString(); // 取得文件名称
int fnLen = HPF.ContentLength; // 取得文件长度
//string fnType = HPF.ContentType.ToString(); // 取得文件类型
try
{
if (fnLen == 0) return ""; // 未选择上传的文件
Byte[] fnBuf = new Byte[fnLen]; // 创建存储图片文件的临时 Byte 数组
Stream stm = HPF.InputStream; // 建立数据流对象
stm.Read(fnBuf,0,fnLen); // 读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
SqlCommand cmd = new SqlCommand(strSql, cn); // 数据库操作
// 添加各项参数并赋值
cmd.Parameters.Add("@Img", SqlDbType.Image).Value = fnBuf; // 图片文件内容
cmd.Parameters.Add("@Len", SqlDbType.Int).Value = fnLen; // 文件长度
//cmd.Parameters.Add("@sType", SqlDbType.VarChar).Value = fnType; // 文件类型
if (cn.State != ConnectionState.Open )
cmd.Connection.Open(); // 打开连接
string rec = null;
cmd.ExecuteNonQuery(); // 执行数据库操作
if (rec!="1")
{
cmd.Connection.Close();
return "";
}
cmd.Connection.Close();
return fn;
}
catch (Exception ex) // 使用 Label 标签显示异常
{
ex.Message.ToString();
return "";
}
finally
{
}
}
/// <summary>
/// 从数据库中读取文件
/// 参数:
/// strCn 连接字符串 省略
/// strSql 数据查询 @Img,@sType,@Len
/// imgID 图片记录号 @Lsh
/// 返回: 文件名
/// </summary>
public static string DownFile(string strSql, int imgID)
{
string fn = @"c:/temp/Ademo.jpg";
SqlCommand cmd = new SqlCommand(strSql, cn);
if (imgID!=0) // 加参数值
cmd.Parameters.Add("@lsh", SqlDbType.Int).Value = imgID;
if (cn.State != ConnectionState.Open )
cmd.Connection.Open(); // 打开连接
SqlDataReader dr = cmd.ExecuteReader(); // 取数据
if(dr.Read()) // 有数据
{
FileStream fs = new FileStream(fn,FileMode.Create,FileAccess.ReadWrite); // 新建文件
BinaryWriter bw = new BinaryWriter(fs); // 建立二进制文件对象
bw.Write((byte[])dr["img"], 0, (int)dr["len"]); // 将字段值写入二进制文件中
bw.Close();
fs.Close();
dr.Close(); // 关闭
cmd.Connection.Close(); // 连续读取数据,最后关闭连接
return fn; // 返回文件名称
}
else
{
dr.Close(); // 关闭
cmd.Connection.Close(); // 连续读取数据,最后关闭连接
return ""; // 无文件返回
}
}
}
- 上传文件并插入数据库中
- php文件上传实例并插入数据库
- C#+一般处理程序+jquery.uploadify 上传XML文件并插入数据库中
- 使用FileUpload上传文件并向数据库插入一条记录
- struts2上传excel文件并解析数据插入数据库
- springmvc上传excel文件并保存到数据库中
- 文件上传并写入数据库
- 利用struts的FormFile上传excel文件,并导入插入数据库
- asp.net(C#) 上传Execl文件 并插入数据到数据库实例
- extjs3.2+struts2实现多文件上传excel并插入到数据库
- Struts2+poi实现Excel文件上传并插入数据库的操作
- Java获取网络文件并插入数据库
- perl解析日志文件并插入数据库
- C#遍历某文件夹下的所有文件,读取文件并插入到数据库中
- JSP文件上传并录入数据库之一
- 文件上传到数据库,并下载
- struts+swfupload 上传文件并读入数据库
- 上传Excel文件并读取存入数据库
- 14.7.3 Remainder operator
- 14.7.4 Addition operator
- 14.7.5 Subtraction operator
- 14.8 Shift operators
- 编程词汇不完全手册(英中对照版)
- 上传文件并插入数据库中
- sizeof大全
- 爆笑的签名档之三
- 爆笑的签名档之四
- 我的第一个c++程序--设置日期
- 自己构造 Create IRP
- 联想借网络营销造世界品牌
- 十三个好用的Ajax站点
- dspace不能检索中文