上传下载保存到数据库的image字段中的文件

原创 2007年09月26日 09:51:00
Asp.Net在SqlServer中的图片存取技术    
  在使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来    
   
  一,上传并存入SqlServer    
    数据库结构    
      create   table   test    
      {    
            id   identity(1,1),    
            FImage   image    
      }    
      相关的存储过程    
      Create   proc   UpdateImage    
      (    
            @UpdateImage   Image    
      )    
      As    
      Insert   Into   test(FImage)   values(@UpdateImage)    
      GO    
   
  在UpPhoto.aspx文件中添加如下:    
  <input   id="UpPhoto"   name="UpPhoto"   runat="server"   type="file">    
  <asp:Button   id="btnAdd"   name="btnAdd"   runat="server"   Text="上传"></asp:Button>    
   
  然后在后置代码文件UpPhoto.aspx.cs添加btnAdd按钮的单击事件处理代码:    
  private   void   btnAdd_Click(object   sender,   System.EventArgs   e)    
  {    
                  //获得图象并把图象转换为byte[]    
                  HttpPostedFile   upPhoto=UpPhoto.PostedFile;    
                  int   upPhotoLength=upPhoto.ContentLength;    
                  byte[]   PhotoArray=new   Byte[upPhotoLength];    
                  Stream   PhotoStream=upPhoto.InputStream;    
                  PhotoStream.Read(PhotoArray,0,upPhotoLength);    
   
                  //连接数据库    
                  SqlConnection   conn=new   SqlConnection();    
                  conn.ConnectionString="Data   Source=localhost;Database=test;User   Id=sa;Pwd=sa";    
   
                  SqlCommand   cmd=new   SqlCommand("UpdateImage",conn);    
                  cmd.CommandType=CommandType.StoredProcedure;    
   
                  cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);    
                  cmd.Parameters["@UpdateImage"].Value=PhotoArray;    
   
                  //如果你希望不使用存储过程来添加图片把上面四句代码改为:    
                  //string   strSql="Insert   into   test(FImage)   values(@FImage)";    
                  //SqlCommand   cmd=new   SqlCommand(strSql,conn);    
                  //cmd.Parameters.Add("@FImage",SqlDbType.Image);    
                  //cmd.Parameters["@FImage"].Value=PhotoArray;    
   
    conn.Open();    
    cmd.ExecuteNonQuery();    
    conn.Close();    
  }    
   
  二,从SqlServer中读取并显示出来    
  在需要显示图片的地方添加如下代码:    
  <asp:image   id="imgPhoto"   runat="server"   ImageUrl="ShowPhoto.aspx"></asp:image>    
   
  ShowPhoto.aspx主体代码:    
  private   void   Page_Load(object   sender,   System.EventArgs   e)    
  {    
            if(!Page.IsPostBack)    
            {    
                                  SqlConnection   conn=new   SqlConnection()    
                                  conn.ConnectionString="Data   Source=localhost;Database=test;User   Id=sa;Pwd=sa";    
                                   
                                  string   strSql="select   *   from   test   where   id=2";//这里假设获取id为2的图片    
                                  SqlCommand   cmd=new   SqlCommand()    
                                  reader.Read();    
                                  Response.ContentType="application/octet-stream";    
                                  Response.BinaryWrite((Byte[])reader["FImage"]);    
                                  Response.End();    
                                  reader.Close();    
            }    
  }     
   

java文件上传!针对各种文件上传demo实列 文件上传以及数据库保存文件名以及路径名称:

文件上传以及数据库保存文件名以及路径名称: 对于文件上传,在中小型项目中都会使用到,百度一下文件上传 也是很多列子的 ,每个博主说的都是很详细,但是对于新手来说也是棘手的问题,第一:文件上传...
  • qq_31971675
  • qq_31971675
  • 2016年07月06日 22:38
  • 4883

ajax上传文件到本地

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp...
  • ctf521love
  • ctf521love
  • 2015年12月01日 14:38
  • 414

C#将文件保存到数据库中或者从数据库中读取文件

在编程中我们常常会遇到“将文件保存到数据库中”这样一个问题,虽然这已不是什么高难度的问题,但对于一些刚刚开始编程的朋友来说可能是有一点困难。其实,方法非常的简单,只是可能由于这些朋友刚刚开始编程不久,...
  • my98800
  • my98800
  • 2016年07月21日 10:07
  • 2572

保存pdf文件至数据库,在线预览并下载到本地

这几天在做将pdf文件转为字节流并保存至数据库,然后再从数据库中中下载下来的工作。所用的东西比较简单,但是也比较琐碎,因为以前没有用过,耽误了点时间,现在整理下来,希望帮助到大家。     上传 ...
  • chengzixiaohai
  • chengzixiaohai
  • 2015年01月15日 16:42
  • 3458

将文件保存到数据库中

//保存文件到SQL Server数据库中 private void FileToSql(string fileName,string tableName,string fieldName) ...
  • FlyAurora
  • FlyAurora
  • 2014年01月24日 09:56
  • 410

Java对数据库的字符串字段进行压缩保存【当字符串大于4000字符】

转载自:http://blog.csdn.net/doymm2008/article/details/6796033 核心提示:数据字段一般都是保存原文的,一来方便在数据库修改和维护,而来有...
  • CociJava
  • CociJava
  • 2016年07月10日 16:43
  • 1502

java实现图片文件存储到数据库

参见:http://www.cnblogs.com/kakag/p/3145140.html1、数据表:create table tb_file( -> fid SMALLINT AUTO_I...
  • u014473112
  • u014473112
  • 2017年02月26日 17:41
  • 530

C#中如何將文件地址存入数据库

其实想要更概括的讲,应该是"C#中怎样将含有有\的字符串存入数据库中",这里只是我在写一个软件过程中,是需要将文件的路径(肯定包含有\了)存入我的MySql数据库,顺便就引发了这个问题.开始还是花了点...
  • sxd125
  • sxd125
  • 2015年07月11日 21:16
  • 1324

【Hibernate】保存对象到数据库

【Hibernate】保存对象到数据库,实现事务
  • u010096526
  • u010096526
  • 2016年01月17日 22:46
  • 2170

java对象序列化并存储到文件和数据库

Java中要实现将对象保存起来持久化,需要让对象实现Serializable接口,这样就能将java对象用二进制流保存并恢复。下面我将以保存到文件和保存到mysql来进行解析。先给出序列化类的定义: ...
  • jeryjeryjery
  • jeryjeryjery
  • 2017年04月25日 09:15
  • 5951
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:上传下载保存到数据库的image字段中的文件
举报原因:
原因补充:

(最多只允许输入30个字)