`
风火山林
  • 浏览: 147263 次
  • 性别: Icon_minigender_1
  • 来自: 汕尾
最近访客 更多访客>>
社区版块
存档分类
最新评论

图片的上传,存入数据库,显示

阅读更多

1.上传

void submitinfo(Object sender,EventArgs e)
{
 int size=307200;
 int LimitWidth=120;
 int LimitHeight=160;
  try
        {
            if (FileUpload1.PostedFile.FileName == "")         
            {
                //this.Upload_info.Text = "请选择上传文件!";
                Response.Write("请选择上传文件!");
            }
            else
            {
                string filepath = FileUpload1.PostedFile.FileName; //得到的是文件的完整路径,包括文件名,如:C:\Documents and Settings\Administrator\My Documents\My Pictures\20022775_m.jpg
               // Response.Write(filepath);
                 //return;
                string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);//20022775_m.jpg
                int i = filename.LastIndexOf(".");
    string extendname=filename.Substring(i, filename.Length - i);
    if (!(extendname == ".jpg"))
    {
     
     Response.Write("图片格式错误,必须为.jpg格式的图片!");
     return;
    }//检查图片文件的格式
        
     if (FileUpload1.PostedFile.ContentLength == 0 || FileUpload1.PostedFile.ContentLength >= size)
             {
                 Response.Write("指定的文件大小不符合要求,大小必须小于300k!");
                 return;
             }//检查图片文件的大小

                Stream oStream = FileUpload1.PostedFile.InputStream;
             System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);

             int owidth = oImage.Width; //原图宽度
                int oheight = oImage.Height; //原图高度

            if (owidth > LimitWidth || oheight > LimitHeight)
            {
                Response.Write("超过允许的图片尺寸范围,照片尺寸必须为120*160!");
                return ;
            }//检查是否超出规定尺寸
           

                string serverpath = Server.MapPath("~/app_uploads/                                                                ") + filename;//取得文件在服务器上保存的位置C:\Inetpub\wwwroot\WebSite1\images\20022775_m.jpg
                FileUpload1.PostedFile.SaveAs(serverpath);//将上传的文件另存为
                //this.Upload_info.Text = "上传成功!";
                Response.Write("上传成功!");
                insertPic(serverpath);//插入数据库
              
            }
        }
        catch (Exception ex)
        {
         Response.Write("上传发生错误!原因是:" + ex.ToString());
           // this.Upload_info.Text = "上传发生错误!原因是:" + ex.ToString();
        }

}

 

2.存入数据库

void insertPic(String path){
   FileStream fs=File.OpenRead(path);
   byte[] content=new byte[fs.Length];
   fs.Read(content,0,content.Length);
   fs.Close();
 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["JaneConnection"].ConnectionString);    
        String sql = "insert into i_pic(pic) values(@pic)";
          SqlCommand comm=new SqlCommand(sql,con);
          con.Open();
        try {
        SqlParameter   para3=new   SqlParameter("@pic",SqlDbType.Image);
    para3.Value=content;
    comm.Parameters.Add(para3);

        int add=comm.ExecuteNonQuery();          
        if(add>0)
        {
         Response.Write("成功插入图片!");
        }

    
        } catch (Exception e){
           Response.Write(e.ToString());
        }
    }
  

 
3.从数据库中读取出来,用在页面上直接显示

void readPic(int _id){
   try
   {
         SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["JaneConnection"].ConnectionString);    
         String sql = "select pic from i_pic where id=@id";
          SqlCommand comm=new SqlCommand(sql,con);
         con.Open();
         SqlParameter   para4=new   SqlParameter("@id",SqlDbType.Int);
    para4.Value=_id;
    comm.Parameters.Add(para4);
    
    SqlDataReader reader=comm.ExecuteReader();
    while(reader.Read())
    {
     Response.BinaryWrite((byte[])reader["pic"]);
     //x_image=(byte[])reader["pic"];
    }
    reader.Close();
    con.Close();
         }
        catch(Exception e)
        {
         Response.Write(e.ToString());
        }
}

 

4.用Image控件显示:因为Image控件不能像byte[]直接显示图片,所以要倒一下,借用byte[]把它做成只显示图片的.aspx页,然后,在主页上放Image控件,控件的URL直接指向.aspx页就行了

<asp:Image ID=x_image Runat=server  ImageUrl="~/inner/pic.aspx/"/>

 

分享到:
评论

相关推荐

    java实现上传图片存入到数据库

    接着,我们需要将图片数据存入数据库。在大多数情况下,数据库不会直接存储二进制大对象(BLOB),而是存储二进制数据的引用或路径。以MySQL为例,我们可以创建一个包含图片ID、名称和二进制数据的表: ```sql ...

    JS拖拽图片特效并存入数据库

    综上所述,"JS拖拽图片特效并存入数据库"项目结合了JavaScript的事件处理、AJAX的异步通信、数据库操作等多个核心技术,旨在提供一个交互性强且功能完善的图片管理平台。通过不断优化和迭代,可以打造出更加高效和...

    图片存入数据库 图片 数据库

    本示例展示了如何使用JSP(JavaServer Pages)将图片上传至Oracle数据库,并进行显示。以下是对这一过程的详细解释: 首先,我们需要在数据库中创建一个表来存储图片信息。在Oracle数据库中,可以使用SQL语句创建一...

    将图片存入数据库,并从数据库中读取

    当我们谈论“将图片存入数据库,并从数据库中读取”时,我们实际上是在讨论一种数据存储策略,这种策略允许我们将图像文件作为二进制数据存储在数据库中,并能够按需检索出来。这种做法有其优点,例如方便数据集成和...

    JSP如何将图片存入数据库.doc

    JSP 将图片存入数据库 JSP(Java Server Pages)是一种基于 Java 的服务器端脚本语言,用于生成动态网页。将图片存入数据库是 JSP 中一个常见的应用场景。本文将详细介绍如何使用 JSP 将图片存入数据库。 图片上传...

    php图片存入数据库

    **步骤1:图片上传** 当用户上传图片时,PHP可以接收并处理这些文件。使用`$_FILES`全局数组,你可以访问上传文件的信息,包括文件名、临时存储位置、类型和大小。你需要验证文件类型、大小,并在合适的位置移动文件...

    PHP将图片存入数据库(MYSQL)

    在PHP开发中,有时我们需要将图片数据存储到MySQL数据库中,而不是传统的文件...以上就是将图片存入MySQL数据库的PHP实现涉及到的主要知识点,包括数据存储方式、文件上传流程、数据库操作以及相关的性能和安全考虑。

    图片存入mySql数据库.pdf

    3. 使用`PreparedStatement`执行SQL插入语句,将图片的描述和二进制数据存入数据库。 插入图片时,使用了`PreparedStatement`的`setBinaryStream`方法,这是处理大量二进制数据时推荐的方法,它可以有效避免内存...

    PHP将图片存入数据库代码

    在PHP开发中,将图片存入数据库是一种常见的需求,尤其在处理用户上传的头像、商品图片等场景。本文将详细讲解如何实现这一功能,并提供一个基础的代码示例。 首先,我们需要理解为什么要在数据库中存储图片。通常...

    将图片存入mysql数据库中

    要从数据库中取出图片并显示,你需要先执行SQL查询,然后读取返回的BLOB数据,并将其写入响应流中供浏览器显示。例如,在PHP中: ```php $stmt = $pdo-&gt;prepare("SELECT avatar FROM users WHERE id = ?"); $stmt-&gt;...

    VB将图片存入Access数据库并实现导出、删除等操作.7z

    在图片存入数据库的过程中,首先要读取图片文件,这通常使用VB的FileOpen、Input#或BinaryRead等函数完成。读取的图片数据被转换为字节数组,然后通过ADO的参数化查询方式,将字节数组作为值传入SQL的INSERT语句,...

    将bmp类型图片存入数据库

    本主题将详细探讨如何将BMP(Bitmap)类型的图片存入数据库,并能从数据库中导出到MFC控件上显示。我们将涵盖以下几个关键知识点: 1. BMP文件格式:BMP是Windows操作系统中的一种位图文件格式,它包含未经压缩的...

    图片上传至数据库及从数据库读取图片

    在IT领域,图片上传至数据库以及从数据库读取图片是一个常见的需求,特别是在开发涉及用户交互、内容管理和数据存储的应用程序时。以下是对这个主题的详细解释。 首先,我们需要理解为什么要把图片存储到数据库中。...

    struts文图片上传 并存入数据库 在jsp页面显示

    在这个特定的项目中,我们看到的是一个关于如何使用Struts实现图片上传、存储到数据库以及在JSP页面显示的过程。以下是相关的知识点详解: 1. **Struts框架**:Struts是Apache软件基金会的一个开源项目,它提供了...

    图片存入数据库和从数据库中读出

    这个话题——"图片存入数据库和从数据库中读出"——涉及到的是如何利用编程技术将图片这种二进制大对象(BLOB)存储到数据库中,然后进行检索并展示。以下是对这一主题的详细阐述: 首先,我们需要理解图片数据是...

    在java web中显示存入mysql数据库的图片

    至此,我们已经完成了在Java Web中显示存入MySQL数据库的图片的基本流程。值得注意的是,虽然这种方法在小规模应用中可行,但随着数据量增大,可能会面临性能问题,因为频繁的BLOB操作会加重数据库负担。更推荐的...

    silverlight摄像头拍照上传图片存入数据库

    asp.net+ silverlight摄像头拍照上传图片存入数据库 本例子实现的功能:便用连接电脑的摄像头拍照并存入数据库中,然后显示出来 以及包含JS与silverlight简单的互操作 本例子使用 VS2010 sp1,sql2005, ...

    ASP代码实现图片上传到数据库中

    5. 图片二进制数据存入数据库: - 将读取到的二进制数据转换为数据库可接受的格式,如使用Binary或VarBinary数据类型。 - 执行SQL INSERT语句,将图片数据存入BLOB字段。 6. 安全考虑: - 验证上传文件的类型和...

    利用数据库存取图片,从数据库读取显示出来

    在标题“利用数据库存取图片,从数据库读取显示出来”中提到的方法,意味着我们将直接把图片的数据存储在数据库内,而不是仅仅保存图片的文件路径。这种方法在某些场景下可能是必要的,例如,如果需要确保图片与相关...

    php上传图片并把信息写入数据库代码

    在PHP中,上传图片并将其信息存储到数据库是常见的需求,尤其在开发...以上就是PHP上传图片并将其信息存入数据库的基本流程。在实际项目中,还需要考虑到错误处理、用户体验、性能优化等方面,以提供更完善的上传功能。

Global site tag (gtag.js) - Google Analytics