精华内容
下载资源
问答
  • 今天小编就为大家分享一篇django 实现将本地图片存入数据库,并能显示在web上的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 网上关于ASP.NET上传图片数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式
  • 图片存入数据库的方法演示,含完整实例源码,这里的数据库为Access,图片格式为bmp或ico。下面是相关的代码片段:  Private Sub Command3_Click()  CmD1.DialogTitle = "选择图片"  CmD1.Filter = "bmp|*.bmp;*...
  • 本文件成功地为你展示了如何将一副图片存入数据库并将其显示在页面上。让你轻松攻克PHP图片存入数据库技术
  • 图片存入数据库

    2020-09-08 15:46:36
    初学javaWeb的同学会遇见如何把照片上传到数据库里面的问题,我们要把照片存到数据库的话要进行如下几个步骤: 1.连接数据库 2.在数据库里面建好相应的表 3.写好增删改查照片的 mysql语句 这里我只写了增加照片,和...

    初学javaWeb的同学会遇见如何把照片上传到数据库里面的问题,我们要把照片存到数据库的话要进行如下几个步骤:

    1.连接数据库 2.在数据库里面建好相应的表 3.写好增删改查照片的 mysql语句 这里我只写了增加照片,和查询照片的mysql语句。

    工具说明 我用的是 Eclipse 开发工具 数据库是 mysql数据库

    1.连接数据库

    package com.jx.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class DbUtil {
        
        /**
         *
         * @DbUtil类的作用 jdbc 的一些简单配置
         * dbUrl
         * dbusername
         * dbpassword
         * jdbcName
         * @author 蒋鑫
         */
    
        private String dbUrl="jdbc:mysql://localhost:3306/mysql57";
        private String dbUserName="root";
        private String dbPassword="root";
        private String jdbcName="com.mysql.jdbc.Driver";
        
        /**
         * 获取数据库连接
         * @return
         * @throws Exception
         */
        public Connection getCon() throws Exception{
            Class.forName(jdbcName);
            Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
            return con;
        }
        
        /**
         * 关闭数据库连接
         * @param con
         * @throws Exception
         */
        public void closeCon(Connection con) throws Exception{
            if(con!=null){
                con.close();
            }
        }
        
        /**
         * 建立一个main方法测试是否可以连接数据库成功!
         * @param args
         * @author 蒋鑫
         */
        
        public static void main(String[] args) {
            DbUtil dbUtil=new DbUtil();
            try {
                dbUtil.getCon();
                System.out.println("数据库连接成功");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    里面不仅有链接数据库的方法我还在最下面写了一个main方法进行单独测试。直接运行这个类就可以测试数据库有么有链接成功!

    数据库连接成功后,我们开始编写 实际操作照片的代码。比如对数据库进行操作的DAO

    package com.jx.dao;
    
    import java.io.BufferedInputStream;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    import com.jx.util.DbUtil;
    
    /*
     * 这个类的作用就是把图片添加进去,
     * 然后在从数据库把图片查找出来是blob类型
     * 然后放在一个文件夹的位置
     * @auther 蒋鑫
     */
    public class DAO {
        
        // 添加图片
        public void insertImageInfo( byte[] img, String imageName) throws Exception {
            Connection conn = null;
            PreparedStatement pstm = null;
            DbUtil jdbc = null;
            StringBuffer sb = null;
            try {
                sb = new StringBuffer();
                jdbc = new DbUtil();
                conn = jdbc.getCon();
                StringBuffer sql = sb.append(sql语句根据你自己的数据内容写,所以我删了写的mysql语句给你写个注释);
                pstm = conn.prepareStatement(sql.toString());
                pstm.setBytes(1, img); // 以字节数组的形式写入
                pstm.setString(2, imageName);
                pstm.setString(3, name);
                
                pstm.executeUpdate();
            } catch (Exception e) {
                throw new RuntimeException(e);
    
            }
        }
            //查询单个照片出来 类型blob
        public Blob selectOneImage(String name) throws Exception {
            BufferedInputStream bufferImage = null;
            Connection conn = null;
            PreparedStatement pstm = null;
            ResultSet rs = null;
            DbUtil jdbc = null;
            StringBuffer sb = null;
            Blob blob = null;
            try {
                sb = new StringBuffer();
                jdbc = new DbUtil();
                conn = jdbc.getCon();
                StringBuffer sql = sb.append(sql语句根据你自己的数据内容写,所以我删了写的mysql语句给你写个注释);
                pstm = conn.prepareStatement(sql.toString());
                pstm.setString(1, name);
                rs = pstm.executeQuery();
                while (rs.next()) {
                    // 必须强制类型转换
                    blob = (Blob) rs.getBlob("image");
                    // bufferImage = new BufferedInputStream(blob.getBinaryStream());
                }
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            return blob;
        }
    
            //获得照片的名字
        public String getImageName(String name) throws Exception {
            BufferedInputStream bufferImage = null;
            Connection conn = null;
            PreparedStatement pstm = null;
            ResultSet rs = null;
            DbUtil jdbc = null;
            StringBuffer sb = null;
            try {
                sb = new StringBuffer();
                jdbc = new DbUtil();
                conn = jdbc.getCon();
                StringBuffer sql = sb.append(sql语句根据你自己的数据内容写,所以我删了写的mysql语句给你写个注释 比如什么SELECT * FROM 什么的);
                pstm = conn.prepareStatement(sql.toString());
                pstm.setString(1, name);
                rs = pstm.executeQuery();
                while (rs.next()) {
                    return rs.getString(1);
                }
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            return null;
        }
    
    }

    这是我的源码 还有我的数据库 表示这样写的  表面 image 列名是imageName 主键 非空 varchar 255 然后是blob 存放二进制文件的列。大家不管是什么数据库都可以建立一张这样的表格!还有这些方法是有参方法 所以在方法里面除了 byte[] img, 这个是一会要传二进制文件的参数 不要更改和删除以外其他东西都可以替换成自己的!

    然后dao写好后!

    我们要写个类调用这些dao(对数据库的操作)写个类能让前台调用这些dao。

    package com.jx.util;
    
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.nio.ByteBuffer;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Scanner;
    
    import com.jx.dao.DAO;
    
    /**
     * 把图片按照路径存进去到数据库
     * saveImage 按照Email 存进去还有他的路径
     * @author    蒋鑫
     *
     */
    public class ISaveImageServiceImpl {
        private static DAO saveImageDAO = new DAO();
    
        public static void saveImage(String Email, String imgPath,String imageName) throws Exception {
            Connection conn = null;
            DbUtil jdbc = null;
            int id=0;
            byte[] img = null;
            try {
                jdbc = new DbUtil();
                conn = jdbc.getCon();
                conn.setAutoCommit(false);
                File file = new File(imgPath);
                // 读入内存
                FileInputStream fis = new FileInputStream(file);
                // 建立缓冲区
                ByteBuffer bbf = ByteBuffer.allocate((int) file.length());
                byte[] array = new byte[1024];
                int length = 0;
                // 开始读取和存放数据
                while ((length = fis.read(array)) > 0) {
                    if (length != 1024) {
                        bbf.put(array, 0, length);
                    } else {
                        bbf.put(array);
                    }
                }
                // 关闭输入流
                fis.close();
                // 获取需要写的内容
                img = bbf.array();
                saveImageDAO.insertImageInfo(Email,img,imageName);
                conn.commit();
            } catch (Exception e) {
                try {
                    conn.rollback();
                } catch (SQLException e1) {
                    throw new RuntimeException(e1);
                }
                throw new RuntimeException(e);
            }
        }
    
        public static Blob getImage(String Email) throws Exception {
            Connection conn = null;
            DbUtil jdbc = null;
            BufferedInputStream bg = null;
            Blob bg1=null;
            try {
                jdbc = new DbUtil();
                conn = jdbc.getCon();
                conn.setAutoCommit(false);
                // 获取缓冲流
    //            bg = saveImageDAO.selectOneImage(imgName);
                bg1=saveImageDAO.selectOneImage(Email);
                conn.commit();
            } catch (Exception e) {
                try {
                    conn.rollback();
                } catch (SQLException e1) {
                    throw new RuntimeException(e1);
                }
                throw new RuntimeException(e);
            }
            return bg1;
        }
        
        public String getImageName(String Email) {
            Connection conn = null;
            DbUtil jdbc = null;
            BufferedInputStream bg = null;
            String bg1=null;
            try {
                jdbc = new DbUtil();
                conn = jdbc.getCon();
                conn.setAutoCommit(false);
                // 获取缓冲流
    //            bg = saveImageDAO.selectOneImage(imgName);
                bg1=saveImageDAO.getImageName(Email);
                conn.commit();
            } catch (Exception e) {
                try {
                    conn.rollback();
                } catch (SQLException e1) {
                    throw new RuntimeException(e1);
                }
                throw new RuntimeException(e);
            }
            return bg1;
        }
        
        
    //    测试用
        public static void main(String[] args) {
                Scanner input=new Scanner(System.in);
                System.out.println("请输入用户邮箱:");
                String Email=input.next();
                System.out.println("请输入图片正确地址:");
                String path=input.next();
                System.out.println("请输入图片名称:");
                String photoName=input.next();
                try {
                    saveImage(Email,path,photoName);
                    Blob bo=getImage(Email);
                    BlobUtil k=new BlobUtil();
                    k.ExportBlob("D:\\", "成功.jpg", bo);
                } catch (Exception e) {
                    e.printStackTrace();
                }
        }
    }

    源码如下使用这个类的时候必须把照片往数据的添加和从数据查询的dao写好了

    然后这个方面最下面就是一个测试main用来测试能不能把照片存进去和把照片查出来放在一个自己给定的地址。

     

     

    我又看了一遍检查了一遍

     

     

    最后还有这个类也要写上 这类的作用就是上面这个类最后  BlobUtil k=new BlobUtil();    k.ExportBlob("D:\\", "成功.jpg", bo); 用的把照片写到你电脑的上的一个位置

    package com.jx.util;
    
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.sql.Blob;
    
    public class BlobUtil{
         public static void ExportBlob(String path,String fileName, Blob myBlob) throws Exception  
          {      
            File file=new File(path+"\\"+fileName);
            if(!file.exists()){
                File binaryFile = new File(path);
                if(!binaryFile.exists()){
                    binaryFile.mkdirs();
                }
                FileOutputStream outStream = new FileOutputStream(binaryFile+"\\"+fileName);  
                InputStream inStream = myBlob.getBinaryStream();  
                int size=(int) myBlob.length();
                byte[] buffer = new byte[size];  
                int length = -1;  
              
                while ((length = inStream.read(buffer)) != -1)  
                {  
                  outStream.write(buffer, 0, length);  
                  outStream.flush();  
                }  
              
                inStream.close();  
                outStream.close();  
              }   
          }
    }

    好了总共是 dao数据库操作 链接数据库 调用数据库dao进行测试 还有一个把读取到了的二进制文件blob文件转换为图片格式的类一共是四个类。记得往数据库添加的时候建立一个数据库的其中一个要设置类型为 blob用来存粗照片的。应该没有什么难的核心代码我已经贴上去了 而且这些代码是一个全部项目源码。检查了俩边上面代码一个不少一个不漏 如果你没出什么错的话 应该直接可以用的。

    展开全文
  • PHP将图片存入数据库(MYSQL). 很简单,拿来即用~~~
  • 主要介绍了详解JAVA生成将图片存入数据库的sql语句实现方法的相关资料,这里就是实现java生成图片并存入数据库的实例,需要的朋友可以参考下
  • 主要介绍了php上传图片存入数据库示例,需要的朋友可以参考下
  • 实现图片直接以blob的形式直接存入数据库,页面简洁好看,功能可以兑现
  • 在很多时候,我们有这样的需求:把图片存入数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
  • php图片存入数据库

    2013-11-19 15:49:23
    php / mysql 图片存入数据库和显示
  • delphi 把图片存入数据库 procedure TForm1.Button1Click(Sender: TObject); // 插入图片过程var Stream:TMemoryStream;begin try Stream := TMemoryStream.Create; // 创建内存流 Image1.Picture.Graphic....

    delphi 把图片存入数据库



    procedure TForm1.Button1Click(Sender: TObject); // 插入图片过程
    var
    Stream:TMemoryStream;
    begin
    try
    Stream := TMemoryStream.Create; // 创建内存流
    Image1.Picture.Graphic.SaveToStream(Stream); // 将图片保存到内存流中
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoQuery1.SQL.Add('Insert into tbltemp (Image) values (:photo)'); // 进行插入操作
    adoQuery1.Parameters.ParamByName('photo').LoadFromStream(Stream,ftBlob); // 读取保存的内存图
    adoquery1.ExecSQL;
    finally
    Stream.Free; // 释放内存流
    end;
    end;

    procedure TForm1.Button2Click(Sender: TObject); //读取图片过程
    var
    Stream:TMemoryStream;
    Jpg:TjpegImage;
    begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Text:='SELECT * FROM tbltemp'; // 查询图片
    ADOQuery1.Open;
    if not ADOQuery1.FieldByName('Image').IsNull then
    begin
    Stream:=TMemoryStream.Create ;
    Jpg:=TjpegImage.Create ;
    TBlobField(ADOQuery1.FieldByName('Image')).SaveToStream(Stream); // 显示的转换为BlobField并保存到内存流
    Stream.Position :=0;
    jpg.LoadFromStream(Stream); // 加载图片
    image2.Picture.Assign(Jpg);
    end
    else
    begin
    image2.Picture :=nil;
    end;
    end;

    转载于:https://www.cnblogs.com/angelbd/p/3373087.html

    展开全文
  • 怎样将图片存入数据库

    千次阅读 2019-01-08 02:28:48
    NET下如何上传图片数据库,并且读出图片 首先在SQL Server中建立一个图片存储的数库表,ImageData Column为图象二进制数据储存字段 ,ImageContentType Column为图象文件类型记录字段,ImageDescription ...
    ASP。NET下如何上传图片到数据库,并且读出图片


    首先在SQL Server中建立一个图片存储的数库表,ImageData Column为图象二进制数据储存字段

    ,ImageContentType Column为图象文件类型记录字段,ImageDescription Column为储蓄图

    象文件说明字段,ImageSize Column为储存图象文件长度字段,结构如下:
    CREATE   TABLE   [ dbo ] . [ ImageStore ]  (
        
    [ ImageID ]   [ int ]   IDENTITY  ( 1 1 NOT   NULL  ,
        
    [ ImageData ]   [ image ]   NULL  ,                             
        
    [ ImageContentType ]   [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
        
    [ ImageDescription ]   [ varchar ]  ( 200 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
        
    [ ImageSize ]   [ int ]   NULL  
    ON   [ PRIMARY ]  TEXTIMAGE_ON  [ PRIMARY ]
    */  

    //UpLoadImage.aspx程序内容如下:
    <% @ Page Inherits="UploadImage.UploadImage" SRC="UpLoadImage.cs" 

    Language
    ="C#"
    %>
    < HTML >< title > 上传图片 </ title >
    < BODY  bgcolor ="#FFFFFF" >
    < FORM  ENCTYPE ="multipart/form-data"  RUNAT ="server"  ID ="Form1" >
    < TABLE  RUNAT ="server"  WIDTH ="700"  ALIGN ="left"  ID ="Table1"  cellpadding ="0"  

    cellspacing
    ="0"  border ="0" >
    < TR >
         
    < TD > 上传图片(选择你要上传的图片) </ TD >
    < TD >
    < INPUT  TYPE ="file"  ID ="UP_FILE"  RUNAT ="server"  STYLE ="Width:320"  

    ACCEPT
    ="text/*"  NAME ="UP_FILE" >
    </ TD >
    </ TR >
    < TR >
         
    < TD >  
          文件说明(添加上传图片说明,如:作者、出处)
         
    </ TD >
    < TD >
    < asp:TextBox  RUNAT ="server"  WIDTH ="239"  ID ="txtDescription"  

    MAINTAINSTATE
    ="false"   />
    </ TD >
    </ TR >
    < TR >
    < TD >
    < asp:Label  RUNAT ="server"  ID ="txtMessage"  FORECOLOR ="red"  

    MAINTAINSTATE
    ="false"   />
    </ TD >
    < TD >
    < asp:Button  RUNAT ="server"  WIDTH ="239"  onCLICK ="Button_Submit"  TEXT ="Upload 

    Image"
      />
    </ TD >
    </ TR >
    </ TABLE >
    </ FORM >
    </ BODY >
    </ HTML >
    展开全文
  • mfc平台 将bmp图片存入数据库,并可以导出数据库里的图片到mfc控件上
  • logger.info("----------将一个文件夹下的图片全部入库的定时任务时任务----------"); File[] files = new File("D:\\RAY_IMAGE").listFiles(); addImageToDb(files); }  private void addImageToDb(File[] ...

    package com.ray.image.bean.task;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;

    import javax.annotation.Resource;

    import org.apache.commons.io.FileUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.core.task.TaskExecutor;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;

    import com.ray.image.bean.dao.ImageDao;
    import com.ray.image.bean.pojo.Image;

    @Component
    public class ImageTask
    {
        Logger logger = LoggerFactory.getLogger(ImageTask.class);

        @Autowired
        ImageDao imageDao;

        @Resource(name = "taskExecutor")
        private TaskExecutor taskExecutor;

        @Scheduled(cron = "0 0/1 * * * ?")
        public void doTask()
        {
            logger.info("----------将一个文件夹下的图片全部入库的定时任务时任务----------");
            File[] files = new File("D:\\RAY_IMAGE").listFiles();
            addImageToDb(files);
        }

        private void addImageToDb(File[] files)
        {
            for (final File file : files)
            {
                taskExecutor.execute(new Runnable()
                {
                    public void run()
                    {
                        try
                        {
                            if (file.isDirectory())
                            {
                                // 1.是文件夹
                                File[] childFiles = new File(file.getAbsolutePath()).listFiles();
                                addImageToDb(childFiles);
                            } else
                            {
                                String fileName = file.getName();
                                long length = file.length();
                                String prefix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
                                if ("jpeg".equals(prefix) || "jpg".equals(prefix) || "png".equals(prefix) || "gif".equals(prefix) || "bmp".equals(prefix))
                                {
                                    FileUtils.copyFileToDirectory(file, new File("D:\\RAY_IMAGE2"), true);
                                    InputStream input = new FileInputStream(file);
                                    byte[] imageByte = new byte[input.available()];
                                    input.read(imageByte);
                                    input.close();

                                    Image image = new Image();
                                    image.setName(fileName);
                                    image.setImage(imageByte);
                                    image.setLength(length);

                                    if (file.exists())
                                    {
                                        if (file.delete())
                                        {
                                            imageDao.addImage(image);
                                        }
                                    }
                                }
                            }
                        } catch (FileNotFoundException e)
                        {
                            e.printStackTrace();
                        } catch (IOException e)
                        {
                            e.printStackTrace();
                        }
                    }
                });
            }
        }
    }

    转载于:https://my.oschina.net/u/812125/blog/2243625

    展开全文
  • 通过二进制数据流的方式,读写图片,把图片存入数据库,再从数据库读取出来显示 通过二进制数据流的方式,读写图片,把图片存入数据库,再从数据库读取出来显示
  • 图片存入数据库
  • SpringMVC中怎么实现把上传的图片存到数据库,已经把文件上传到了一个文件夹里?
  • 图片存入数据库,并从数据库中读取
  • java将图片存入数据库

    2016-03-15 14:08:40
    java将图片存入数据库  (2013-01-15 19:48:47) 转载▼ 标签:  it 分类: java import java.sql.*; import java.io.*; import java.nio.*; public class UploadImage { ...
  • 源文件不含库 博文链接:https://liyaxi.iteye.com/blog/474188
  • 图片存入数据库

    2011-09-21 14:36:05
    ACCESS数据库中插入二进制图片,保存为二进制格式
  • 上传图片,解析成base64码存入数据库,html显示图片
  • 图片存入数据库从数据库中读取图片.txt
  • 图片存入数据库 图片 数据库 Oracle

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,057
精华内容 13,222
关键字:

图片存入数据库