Java将图片资源以二进制的形式保存到Sqlserver数据库中

如何使用Java语言将图片资源以二进制的形式保存的数据库中

在sqlserver中创建表

use MyDb1
go

create table SaveImg(
id varchar(10) primary key,
img image not null
)

select *from SaveImg

使用微软提供的sqljdbc4.jar进行数据库存储,开始我使用的是jtds发现存储不了,然后才使用的sqljdbc,这个我没有细究,有兴趣的可以试试。

Java的demo

package com.ht.save;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import java.sql.SQLException;

public class SaveImgProc {
    private static Connection conn;
    private static PreparedStatement ps;

private static FileInputStream fis;

public static void main(String[] args) {
        
        //将图片资源转换成二进制资源

String UserName = "sa";
        String Password = "sa";
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            conn = DriverManager.getConnection(
                    "jdbc:sqlserver://xxx.xx.xxx.xx:1433;databaseName=MyDb1",
                    UserName, Password);

ps = conn.prepareStatement("insert into SaveImg values(?,?)");
            String filePath="F:/images/p4.jpg";
            
            InputStream is=readImgStream(filePath);
            //ps.setString(1, x);
            ps.setString(1, "sp0006");
            ps.setAsciiStream(2, is);

int i = ps.executeUpdate();
            if(i>0){
                System.out.println("图片资源插入成功");
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) {

e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    /***
     * 读取图片资源,并将图片资源转换成二进制数组
     * @param path图片资源的路径
     * @return 文件输入流
     */
    public static InputStream readImgStream(String path){
        File file = new File(path);
        // 对SQL的参数赋值
        try {
            fis = new FileInputStream(file);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return fis;
        
    }
}

原文地址:https://www.cnblogs.com/ww7018/p/9484229.html

时间: 2024-08-14 21:57:50

Java将图片资源以二进制的形式保存到Sqlserver数据库中的相关文章

ASP.NET中将文件以二进制的形式保存到SQLServer数据库

开发网站时,经常需要网站中有上传文件的功能,上传文件的功能有两种:将文件名称保存到数据库,文件保存到服务器指定位置:将文件直接保存到数据库中 该方法介绍       将文件以二进制的形式保存到数据库中      (可以保存word文档,记事本文本,图片,压缩包--) if (this.FileUpload1.PostedFile.FileName != "") { string ImgPath = FileUpload1.PostedFile.FileName; string ImgN

利用session_set_save_handler()函数将session保存到MySQL数据库中

PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户就要创建很多的session文件,这样对整个的服务器带来性能问题. 另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的

Vue 添加评论,node作后台保存到MongoDB数据库中

成品图 1.在 textarea 中 v-model 双向绑定要添加的数据,并且 button 中绑定方法 2.将from表单绑定的数据挂载到data上 3. methods 中实现方法,将评论内容以参数形式传进 4.node中调用数据库的create方法添加进数据库 原文地址:https://www.cnblogs.com/zhaohui-116/p/12271161.html

php 保存到mysql数据库中的中文乱码

近期又php项目,乱码是个头痛的问题 解决方法: 1,php 文件中 添加 header(“Content-Type: text/html; charset=utf-8"); 2,需要做数据库操作的php程序前加mysql_query("set names '编码'");,编码和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那 mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了 mysql_query("

将 node.js 的数据保存到 mongo 数据库中

Mongo 数据库 安装 首先到 Mongo 的官方网站下载安装程序:http://www.mongodb.org/,我下载的文件名为:mongodb-win32-x86_64-2008plus-2.6.4-signed.msi 执行安装程序. 下一步 同意许可协议 可以选择定制 Custom 看一下. 全部装上吧. 开始实际安装. MongoDB 默认安装到了 C:\Program Files\MongoDB 2.6 Standard\bin 目录下,但是,没有自动添加到 Path 路径中,手

php将图片以二进制保存到mysql数据库并显示

一.存储图片的数据表结构: -- -- 表的结构 `image` -- CREATE TABLE IF NOT EXISTS `image` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 NOT NULL, `pic` blob NOT NULL, `type` varchar(50) CHARACTER SET utf8 NOT NULL, `date` datetime NOT NU

Python scrapy爬虫数据保存到MySQL数据库

除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 job_inf 数据表: CREATE TABLE job inf ( id INT (11) NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR (255), salary VARCHAR (255), company VARCHAR (255),

php将图片保存到mysql数据库及从数据库中读取图片的方法源码 转

php将图片保存到mysql数据库及从数据库中读取图片的方法源码 分类: 网站 2012-03-11 15:25 5059人阅读 评论(0) 收藏 举报 数据库mysqlphpsql serverquerydatabase 一般来讲都是把图片保存到服务器下,然后根据路径读出的,但是有时候出于安全及版权什么的考虑,会把图片保存到mysql的数据库中,然后再读出来,这样的图片点击右键属性,是看不到图片地址的.下面逍遥一生就介绍下如何用php把图片存储到mysql中及如何读出.     MySQL数据

VB.NET 将JSON格式的字符串保存到XML文件中

1.关于本文 这几天打算写一个工具类JsonXmlHelper,用来进行用XML来保存JSON格式文件的工作.该工具类中要实现2个最主要的函数: 1)将JSON格式的内容写入到地址为address的XML中:WriteJsonToXml 2)把函数1中构造的XML文件恢复成JSON格式文档:RecoverJsonFromXml 函数1的实现将在本文中给出,函数2的实现将在以后发表的博文中给出 2.代码说明 1)添加引用:Newtonsoft.Json.dll 2)导入库 'JSON解析相关函数,