上传文件以二进制存储到数据库中
2011-08-16 19:06
459 查看
一:上传 (把文件上传到数据库中image类型的字段中去了)
二:下载 新建一个用于输出文件的页面(点击下载的时候就跳转到此页面并且传要下载的文件ID)
public void upload() { Stream objFs; objFs = uploadFile.PostedFile.InputStream; BinaryReader objBr = new BinaryReader(objFs); byte[] bytFile = objBr.ReadBytes((int)objFs.Length); //文件内容 model.DocContent = bytFile; //归档单位 model.FilingUnit = this.ddlFilingUnit.SelectedValue.ToString().Trim(); //归档号 model.FilingNo = this.txtFilingNo.Value.Trim(); //文件名(后台控制:用户留空时则录入原文件名) if(this.txtDocName.Value.ToString().Trim() == "" || this.txtDocName.Value.ToString().Trim() == null) { int start = uploadFile.PostedFile.FileName.LastIndexOf("\\"); int end = uploadFile.PostedFile.FileName.LastIndexOf("."); model.DocName = uploadFile.PostedFile.FileName.Substring(start+1, end-start-1); } else { model.DocName = this.txtDocName.Value.Trim(); } //获取文件后缀名:1、获取初始文件名 string tempStr = this.uploadFile.PostedFile.FileName.ToString(); //2、取得文件名中最后一个"."的索引 int i = tempStr.LastIndexOf(".") + 1; //3、获取文件扩展名并转为小写 model.DocSuffix = tempStr.Substring(i).ToLower(); //文件大小 model.DocSize = this.uploadFile.PostedFile.ContentLength; //MIME类型 model.ContentType = this.uploadFile.PostedFile.ContentType; new RecordsMgtBll().AddDoc(model); }
二:下载 新建一个用于输出文件的页面(点击下载的时候就跳转到此页面并且传要下载的文件ID)
private void Page_Load(object sender, System.EventArgs e) {
if(!Page.IsPostBack) { _DocId = Request.QueryString["DocId"]; ViewState["_DocId"] = _DocId; } string sql="SELECT * FROM b_bridge_doc WHERE DocId='" + ViewState["_DocId"].ToString() + "' "; SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationSettings. AppSettings["SqlServerConnectionString"]); SqlCommand command = new SqlCommand(sql, connection); connection.Open(); SqlDataReader dr = command.ExecuteReader(); if(dr.Read()) { Response.Clear(); Response.AddHeader("Content-Type", dr["ContentType"].ToString()); string fileName = dr["DocName"].ToString() + "." + dr["DocSuffix"].ToString(); Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode( fileName)); Response.Flush(); Response.BinaryWrite((byte[])dr["DocContent"]); } dr.Close(); connection.Close(); }
相关文章推荐
- 上传文件以二进制存储到数据库中
- 将上传文件以二进制形式存入数据库中,并下载数据库中的二进制数据生成对应的文件
- 用ASP.NET2.0在数据库中存储二进制文件
- asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来
- ASP无组件文件上传[数据库存储]
- 关于集成第三方office的sdk产品,采用servlet方式将数据库表BLOB字段文件下载与二进制文件上传到blob
- .NET 二进制图片的读取与存储 上传图片到数据库二进制
- C#中将图片文件转化为二进制数组-用于数据库存储
- Mssql数据库中存储doc,pdf,exe,iso等电影文件和大文件上传
- c#程序中调用Oracle存储过程上传二进制文件
- smartupload实现 jsp页面上传文件 将文件以二进制形式保存在数据库
- 将上传文件以二进制形式存入数据库中,并下载数据库中的二进制数据生成对应的文件
- 周六周天加班,终于完成了将任何文件转换为二进制存储到数据库的工作
- c#上传文件并将word pdf转化成txt存储并将内容写入数据库
- C# 使用FileUpload控件上传图片,将文件转换成二进制进行存储与读取
- 数据库尽量不要存储较大的二进制数据,如图片、视频、文件等
- asp.net 把word转化成二进制文件存储到数据库
- 上传文件通过mybatis存储到数据库的BLOB格式中
- C# 单文件与二进制互转数据库写入读出(上传文件二进制方式到DB中,下载DB中的二进制文件到本地)
- sql 将文件转换为二进制上传(或下载)到数据库中