精华内容
下载资源
问答
  • //从数据库获取图片地址 (value是string类型) var sert = db.T_GrowData.Where(e => e.dateSubmit == dateSubmit && e.status == 1).AsEnumerable().FirstOrDefault().value; //将获取到的string类型数据转换...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...

    vue展示以变量地址的文件

    vue新手

    刚开始学习vue的同学,可能会遇到一个问题,为什么当图片的地址为一个变量的时候,图片就找不到了呢?

    接下来我就讲述一下我的解决方法,及思路。

    首先,我们打开浏览器,看一下图片的地址有什么不同
    我们直接在代码中引用相对地址的图片:
    	**url(/static/img/orange.c394161fd7b13a2140b42aaa1b605804.jpg)**
    我们从数据库里面获取数据:
    	**url(/static/img/orange.jpg)**
    

    比较上面的两个地址,直接引用的图片会在orange的后面多了一串我们看不懂的字符串,那为什么会这样呢?

    当我们了解一下vue的编译情况后,我们会知道,我们之前所放在assets中的所有图片,编译后都会放在static下,同一个文件夹img中。但是,我们在assets中不同的文件夹下面是可以有相同名称的图片的。那么编译后,它们会在同一个文件夹下,我们应该如何分辨是哪个图片呢?
    这个时候,vue的配置文件webpack.base.conf.js中就会给我们解决这个问题。
    name: utils.assetsPath(‘img/[name].[hash:7].[ext]’)
    [name]:图片的原名称
    [ext]:文件的原后缀名
    [hash:7]:添加一个7字节的hash值

    所以就是,为了区别两个同名的图片,就会在图片名称的后面添加一个hash值的字符串。
    这也就是为什么当我们使用变量来表示图片地址的时候,这个没有后面的hash值,所以图片也就找不到了。
    那么如何解决这个问题呢?
    很简单,我们只要把name: utils.assetsPath(‘img/[name].[hash:7].[ext]’)中的hash值去掉就不会产生hash值了
    改为name: utils.assetsPath(‘img/[name].[ext]’)
    这个时候我们再看一下浏览器中的图片地址,将不会有hash值了。
    相同的,不仅是图片如此,多媒体资源文件,字体资源文件等都会产生hash值。所以当我们遇到这类问题是,就以相同的方法解决。希望能对您带来帮助,谢谢观看。

    个人愚见,有任何错误或者不适当的地方,尽请留言,我会尽快改正的。

    展开全文
  • 用C++ connector实现mysql以二进制格式将图片存储到数据库以及从数据库获取图片并显示,亲测通过,请放心使用,如有问题可留言给我。
  • Java从数据库读取图片

    千次阅读 2019-06-20 10:05:27
    之前讲了如何将图片上传到数据库,我们是通过将图片转换为二进制数组再保存进数据库的,数据库字段使用的是LONGBLOB类型。那么今天来说一下怎么将保存进去的图片读取到页面上。 由于其他数据与图片返回的类型不同,...

    之前讲了如何将图片上传到数据库,我们是通过将图片转换为二进制数组再保存进数据库的,数据库字段使用的是LONGBLOB类型。那么今天来说一下怎么将保存进去的图片读取到页面上。
    在这里插入图片描述

    由于其他数据与图片返回的类型不同,所以图片信息是不与其他文字信息一起返回给页面的。先在Dao中写查询方法

    	public Trends findTrendsById(int trendsid) {
    		Trends trends = null;
    		try {
    			String findTrendsById = "select trends.*,user.username from trends inner join user on trends.userid=user.userid where trendsid=?";
    			con=DbUtil.getConnection();
    			ps=con.prepareStatement(findTrendsById);
    			ps.setInt(1, trendsid);
    			rs=ps.executeQuery();
    			trends = new Trends();
    			trends.setTrendsid(rs.getInt("trendsid"));
    			trends.setTrendsname(rs.getString("trendsname"));
    			trends.setTrendsdate(rs.getTimestamp("trendsdate"));
    			trends.setTrendsimg(rs.getBytes("trendsimg"));//通过rs.getBytes()来接收图片的byte数组
    			trends.setUserid(rs.getInt("userid"));
    			trends.setUsername(rs.getString("username"));
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DbUtil.close(con, ps, rs);
    		}
    		return trends;
    	}
    

    在servlet中需要添加两个方法,分别是查询其他信息的方法和查询图片信息的方法

    	/**
    	*查询动态信息
    	*/
    	public void findTrendsById(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
    		int id=Integer.parseInt(request.getParameter("trendsid"));
    		Trends trends = userSer.findTrendsById(id);
    		//以下略.........................
    

    下面是查询图片的方法

    	/**
    	*查询图片
    	*/
    	public void findImgById(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
    		response.setHeader("Pragma", "No-cache");
    		response.setHeader("Cache-Control", "no-cache");
    		response.setDateHeader("Expires", 0);
    		//response.setHeader()  设置响应报头,在这里设置为不可缓存
    		byte[] img = null;//通过一个byte[]来接收图片
    		int id=Integer.parseInt(request.getParameter("trendsid"));
    		Trends trends = new Trends();
    		trends = userSer.findTrendsById(id);
    		img=trends.getTrendsimg();
    		//OutputStream 以流的形式将图片信息返回给页面
    		OutputStream outputStream = response.getOutputStream();
    		outputStream.write(img);
    		outputStream.flush();//排出流中所有数据
    		outputStream.close();//关闭流
    	}
    
    

    在jsp页面中,使用一个img标签接收返回值

    if((data[i].trendsimg).length!=0){
    	//img标签的src中放入请求链接
    	$("#trendscon"+ i +" .trendsbody").append('<img class="trendsimg" src="${ctx}/servlet/UserServlet?fun=findImgById&trendsid='+ data[i].trendsid+ '" />');
    }
    

    在这里插入图片描述

    展开全文
  • 从数据库读取多个图片利用迭代输出的方式把图片显示在页面中
  • 下面为MySQL数据库读取图片和向数据库插入图片的代码,一些的数据库连接和JDBC代码就省去了。  package com.an.jdbc.bean;    import java.io.FileInputStream;  import java.io.FileOutputStream;  ...

    MySQL数据库中有一个数据类型为Blob类型,此类型为二进制文件类型。下面为从MySQL数据库读取图片和向数据库插入图片的代码,一些的数据库连接和JDBC代码就省去了。


        package com.an.jdbc.bean;
         
        import java.io.FileInputStream;
        import java.io.FileOutputStream;
        import java.io.InputStream;
        import java.sql.Connection;
        import java.sql.PreparedStatement;
        import java.sql.ResultSet;
         
        import org.junit.Test;
         
        import com.an.jdbc.utils.JDBCUtils;
         
        public class TestBlob {
            //向数据库中插入图片
            @Test
            public void test1() throws Exception{
                String sql = "update beauty set photo = ? where id = ?";
                Connection connection = JDBCUtils.getConnection();
                PreparedStatement ps = connection.prepareStatement(sql);
                FileInputStream fis = new FileInputStream("C:\\Users\\Administrator\\Desktop\\1.jpg");
                
                ps.setBlob(1, fis);
                ps.setInt(2, 2);
                
                int update = ps.executeUpdate();
            
                System.out.println(update>0?"success":"failure");
                
                JDBCUtils.closeConnection(null, ps, connection);
            }
            
            //从数据库中读取一张图片
            @Test
            public void test2() throws Exception{
                
                String sql = "select photo from beauty where id=?";
                Connection connection = JDBCUtils.getConnection();
                PreparedStatement ps = connection.prepareStatement(sql);
                
                ps.setInt(1, 2);
                ResultSet set = ps.executeQuery();
                
                if(set.next()){
                    InputStream inputStream = set.getBinaryStream(1);
                    FileOutputStream fos = new FileOutputStream("src\\copy.jpg");
                    byte[] b = new byte[1024];
                    int len = -1;
                    while((len=inputStream.read(b))!=-1){
                        fos.write(b, 0, len);
                    }
                    
                    fos.close();
                    inputStream.close();
                }
                JDBCUtils.closeConnection(null, ps, connection);
            }
        }
    ---------------------
     

    展开全文
  • C# 图片保存到数据库和从数据库读取图片并显示 关键字: c# 图片保存到数据库和从数据库读取图片并显示 图片保存到数据库的方法:  public void imgToDB(string sql)  { //参数sql中要求保存...

    C# 图片保存到数据库和从数据库读取图片并显示

    关键字: c# 图片保存到数据库和从数据库读取图片并显示

    图片保存到数据库的方法:

            public void imgToDB(string sql)
            {   //参数sql中要求保存的imge变量名称为@images
                //调用方法如:imgToDB("update UserPhoto set Photo=@images where UserNo='" + temp + "'");
                FileStream fs = File.OpenRead(t_photo.Text);
                byte[] imageb = new byte[fs.Length];
                fs.Read(imageb, 0, imageb.Length);
                fs.Close();
                SqlCommand com3 = new SqlCommand (sql,con);
                com3.Parameters.Add("@images", SqlDbType.Image).Value = imageb;
                if (com3.Connection.State == ConnectionState.Closed)
                    com3.Connection.Open();
                try
                {
                    com3.ExecuteNonQuery();
                }
                catch
                { }
                finally
                { com3.Connection.Close(); }
            }

    数据库中读出图片并显示在picturebox中:

    方法一:
    private void ShowImage(string sql)
         {
         //调用方法如:ShowImage("select Photo from UserPhoto where UserNo='" + userno +"'");
         SqlCommand cmd = new SqlCommand(sql, conn);
         conn.Open();
         byte[] b= (byte[])cmd.ExecuteScalar();
         if (b.Length 〉 0)
         {
         MemoryStream stream = new MemoryStream(b, true);
         stream.Write(b, 0, b.Length);
          pictureBox1.Image = new Bitmap(stream);
          stream.Close();
         }
         conn.Close();
         }

    方法二:当在dg中选中某行时:
    private void dg_MouseUp(object sender, MouseEventArgs e)
            {
                //整行选择
                if (e.Button == System.Windows.Forms.MouseButtons.Left)
                {//用户编号,姓名,性别,身份证号,籍贯,学院,系所,校区,部门,电话,照片
                      //显示相片
                    object imgobj=dg[10, dg.CurrentRow.Index].Value;
                    if (imgobj != null && !Convert.IsDBNull(imgobj))
                    {
                        byte[] imgb = (byte[])imgobj;
                        MemoryStream memStream = new MemoryStream(imgb);
                        try
                        {
                            Bitmap myimge = new Bitmap(memStream);
                            this.pictureBox1.Image = myimge;
                        }
                        catch
                        {
                            DB.msgbox("从数据库读取相片失败!");
                        }
                    }
                    else
                        pictureBox1.Image = null;
                }

     

    使用C#进行图片的数据库存取
     
     

     

    本文总结如何在.Net WinForm和.Net WebForm(asp.net)中将图片存入SQL Server中并读取显示的方法 。
    1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来:
    1)上传并存入SQL Server

    数据库结构
    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();
    }
    2)从SQL Server中读取并显示出来
    在需要显示图片的地方添加如下代码:
    <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(strSql,conn);
    conn.Open();
    SqlDataReader reader=cmd.ExecuteReader();
    reader.Read();
    Response.ContentType="application/octet-stream";
    Response.BinaryWrite((Byte[])reader["FImage"]);
    Response.End();
    reader.Close();
    }
    }

    2.在WinForm中将图片存入SQL Server,并从SQL Server中读取并显示在picturebox中
    1),存入SQL Server
    数据库结构和使用的存储过过程,同上面的一样
    首先,在窗体中加一个OpenFileDialog控件,命名为ofdSelectPic ;
    然后,在窗体上添加一个打开文件按钮,添加如下单击事件代码:
    Stream ms;
    byte[] picbyte;
    //ofdSelectPic.ShowDialog();
    if (ofdSelectPic.ShowDialog()==DialogResult.OK)
    {
    if ((ms=ofdSelectPic.OpenFile())!=null)
    {
    //MessageBox.Show("ok");
    picbyte=new byte[ms.Length];
    ms.Position=0;
    ms.Read(picbyte,0,Convert.ToInt32(ms.Length));
    //MessageBox.Show("读取完毕!");
    //连接数据库
    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=picbyte;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    ms.Close();
    }
    }
    2)读取并显示在picturebox中
    首先,添加一个picturebox,名为ptbShow
    然后,添加一个按钮,添加如下响应事件:
    SqlConnection conn=new SqlConnection();
    conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";
    string strSql="select FImage from test where id=1";
    SqlCommand cmd=new SqlCommand(strSql,conn);
    conn.Open();
    SqlDataReader reader=cmd.ExecuteReader();
    reader.Read();
    MemoryStream ms=new MemoryStream((byte[])reader["FImage"]);

    Image image=Image.FromStream(ms,true);
    reader.Close();
    conn.Close();
    ptbShow.Image=image;

    展开全文
  • 我使用SpringBoot复原了一下源码,需要的可以去我的GitHub上下载 ... 前台页面获取图片,后台接收图片文件转化成数据,然后存储到数据库,然后反向输出到jsp页面 二、分析一下数据转换和数据流通...
  • JS图片轮播器,从数据库读取图片进行轮播
  • 本篇主要介绍的是图片由前端调用接口传递给后端后,由后端直接保存到数据库中保存,读取时后端直接将图片以流的方式返回给前端来实现; 本篇只列举后端代码,保存图片时既保存了原图,也保存了缩略图; 实现步骤:...
  • Extjs4 GridPanel 加载从数据库读取图片(双击图片放大),学习Extjs4框架知识,一点学习积累 每天进步一点点-----
  • 从数据库读取图片路径后在页面上显示出来 代码: 1 //直接将代码放到php文件里 2 $con = mysqli_connect("localhost", "123", "123", "123");//连接数据库 3 $sql = "SELECT * FROM table";//读取表 4 $result...
  • 图片保存到数据库的方法: <br /> public void imgToDB(string sql) { //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB("updat
  • 图片保存到数据库的方法: public void imgToDB(string sql) { //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB("update UserPhoto setPhoto=@imageswhere UserNo='" + temp + "'");...
  • 图片保存到数据库的方法: public void imgToDB(string sql) { //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB("update UserPhoto se
  • Struts 2 从数据库读取图片下载

    千次阅读 2010-12-09 12:27:00
    本来已经获得图片了的,但是想通过点击超链接下载图片,浏览器都是直接打开图片了,使用JS来控制只兼容IE,麻烦,只有通过struts2设置报头域来下载了!其实这里没什么技术含量,我只是打算记下...
  • 比如:将图片保存到数据库中、从数据库读取图片、显示图片、打印图片等。此处对这些在项目中遇到的一些琐碎知识加以总结,以便日后查找。    1、将图片作为其中的一个参数保存到数据库中  在项目中...
  • 页面上传图片数据库见(http://blog.csdn.net/xtqueen_up/article/details/8292290)   include("libs/Smarty.class.php"); $smarty=new Smarty(); $smarty->template_dir="demo/templates"; $smarty->...
  • 利用winfrom,listview和imageview实现从数据库读取图片 显示在界面上。
  • DataTable dt = DbHelperSQL.Query("select VehImage1 from JC_GCCheckRec").Tables[0];  for (int i = 0; i  {  System.IO.MemoryStream ms = new System.IO.MemoryStrea
  • Jsp从数据库读取并显示图片

    千次阅读 2010-12-16 00:39:00
    很多人包括我在初次使用Jsp从数据库读取图片的时候,都会发现一个无法解决的问题,就是从数据库读取图片的时候没问题,但是将图片显示在Jsp视图的时候,就会抛出一个异常getOutputStream() has already been ...
  • 如何将图片存进SQL数据库,以及如何从数据库读取图片

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 278,732
精华内容 111,492
关键字:

从数据库读取图片地址