将文件上传、下载(以二进制流保存到数据库)
来源:互联网 发布:谷歌关键词优化 编辑:程序博客网 时间:2024/04/30 08:57
1、将文件以二进制流的格式写入数据库
首先获得文件路径,然后将文件以二进制读出保存在一个二进制数组中,与数据库建立连接,在SQL语句中将二进制数组赋值给相应的参数,完成向数据库中写入文件的操作
/// 将文件流写入数据库/// </summary>/// <param name="filePath">存入数据库文件的路径</param>/// <param name="id">数据库中插入文件的行标示符ID</param>/// <returns></returns>public int UploadFile(string filePath, string id){byte[] buffer = null;int result = 0;if (!string.IsNullOrEmpty(filePath)){String file = HttpContext.Current.Server.MapPath(filePath); buffer = File.ReadAllBytes(file);using (SqlConnection conn = new SqlConnection(DBOperator.ConnString)){using (SqlCommand cmd = conn.CreateCommand()){cmd.CommandText = "update DomesticCompanyManage_Main_T set ZBDocumentFile = @fileContents where MainID ='" + id + "'";;cmd.Parameters.AddRange(new[]{new SqlParameter("@fileContents",buffer)});conn.Open();result = cmd.ExecuteNonQuery();conn.Close();}}return result;}elsereturn 0;}
2、从数据库中将文件读出并建立相应格式的文件
从数据库中读取文件,只需根据所需的路径建立相应的文件,然后将数据库中存放的二进制流写入新建的文件就可以了
如果该目录下有同名文件,则会将原文件覆盖掉
//从数据库中读取文件流//shipmain.Rows[0]["ZBDocument"],文件的完整路径//shipmain.Rows[0]["ZBDocumentFile"],数据库中存放的文件流if (shipmain.Rows[0]["ZBDocumentFile"] != DBNull.Value){int arraySize = ((byte[])shipmain.Rows[0]["ZBDocumentFile"]).GetUpperBound(0);FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(shipmain.Rows[0]["ZBDocument"].ToString()), FileMode.OpenOrCreate, FileAccess.Write);//由数据库中的数据形成文件fs.Write((byte[])shipmain.Rows[0]["ZBDocumentFile"], 0, arraySize);fs.Close();}
- 将文件上传、下载(以二进制流保存到数据库)
- 将文件上传、下载(以二进制流保存到数据库)
- C#将文件上传、下载(以二进制流保存到数据库)
- 文件以二进制流保存到数据库及下载
- Flex上传图片,将图片保存以二进制流的方式保存到数据库。
- 将图片以二进制流保存到数据库中
- FileUpload实现将图片(以二进制)保存到数据库
- 用Adodb.Stream将以二进制方式保存在数据库中的文件保存到硬盘
- smartupload实现 jsp页面上传文件 将文件以二进制形式保存在数据库
- 将上传文件以二进制形式存入数据库中,并下载数据库中的二进制数据生成对应的文件
- 将文件存储到数据库(以二进制流的形式)
- java 大文件以二进制保存到数据库
- java 大文件以二进制保存到数据库
- 以二进制形式将图片保存到数据库,用存诸过程实现(完整代码+sql语句)
- 上传文件以二进制存储到数据库中
- 文件上传将文件保存为二进制
- MVC 保存二进制到数据库,并显示文件的方法(图片显示或下载文件)
- SpringMVC 上传文件或图片并以二进制流的方式存到数据库
- MapReduce 模式、算法和用例
- myeclipse 启动服务时 提示“Address already in use:JVM_Bind:8080”
- 设备驱动学习之字符设备驱动内核代码分析(二)——字符设备结构体cdev
- 返回顶部
- Struts 2 + Spring + Hibernate integration Tutorial
- 将文件上传、下载(以二进制流保存到数据库)
- MapReduce算法设计--Think in Hadoop
- Share some tips about android develop(一)
- ora-00604,ora-00942
- Machine Learning(三)(逻辑回归Logistical Regression)
- MapReduce算法模式
- Java高级特性之反射(流行框架都用到)
- 1.1、Activity的生命周期
- 实现Serializable的单例模式