`
wytkings
  • 浏览: 6514 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

读取sql server中二进制图片

阅读更多
public void showPhoto(HttpServletResponse response,String fphotoId){
    Connection conn = null;
    try{
    try {
    InitialContext ic = new InitialContext();
    Statement stmt = null;
    conn = DBConnection.getConnection();
    BufferedInputStream inputimage = null;
    stmt = conn.createStatement();
    boolean defaultCommit = conn.getAutoCommit();
    conn.setAutoCommit(false);
    ResultSet rs = stmt.executeQuery("SELECT * FROM t_photo WHERE fid='"+ fphotoId + "'");
    if (rs.next()) {
    Blob blob = (Blob) rs.getBlob("fimage");
    long size = blob.length();
    byte[] bs = blob.getBytes(1, (int) size);
    response.setContentType("image/jpeg;charset=GB2312");
    response.setHeader("Content-Transfer-Encoding", "base64");
    String filepath = "";
    String dir = this.getServlet().getServletContext().getRealPath("UPLOAD");
    File dirFile = new File(dir);
    if (!(dirFile.exists()) && !(dirFile.isDirectory())) {
    dirFile.mkdir();
    }
    String filename = getRndFileName("jpg");
    filepath = fphotoId+ filename.substring(filename.lastIndexOf("."),filename.length());
    OutputStream out1 = new FileOutputStream(dir + "\\" + filepath);
    out1.write(bs, 0, bs.length);
    out1.close();
    rs.close();
    } else {
    rs.close();
    }
    } catch (Exception e) {
    conn.rollback();
    e.printStackTrace();
    } finally {
    conn.close();
    }
    }catch(Exception e){
    e.printStackTrace();
    }
    }

/**
* @param path
* @return 返回随机获得的文件名 获取随机文件名.如 aa.gif bb.jpg 等.
*/
public String getRndFileName(String path) {
String rndFileName = String.valueOf(System.currentTimeMillis())
+ String.valueOf(new Random().nextInt(100));
String extFileName = getExName(path);
if (!extFileName.equals("")) {
rndFileName = rndFileName + "." + extFileName;
}
return rndFileName;
}

// 获取文件扩展名.如: gif jpg (不包括".")等.
public String getExName(String path) {
int strint = path.lastIndexOf(".");
return path.substring(strint + 1);// 这样是不包括点
// return path.substring(strint);//这样是有包括点
}

将读取的图片上传到服务器中。。。。
if(productList.size() != 0){
    for (Product product : productList) {
    if(product.getPhoto() != null){
    String fphotoid = product.getPhoto().getFid();
    String filepath = "";
    String dir = this.getServlet().getServletContext().getRealPath("UPLOAD");
    filepath = dir + "\\"+fphotoid+".jpg";
    File file = new File(filepath);
    if(!file.exists()){
    showPhoto(response,fphotoid);
    }
    }
}
    request.setAttribute("productList",productList);
    }
1
0
分享到:
评论

相关推荐

    sql server 二进制图片批量导出小程序(C#)

    这个“sql server 二进制图片批量导出”小程序的核心就是以上所述的逻辑,它简化了从SQL Server数据库中批量导出二进制图片的过程。通过使用C#的数据库访问和文件操作功能,你可以根据实际需求进行定制,满足更复杂...

    delphi读写sqlserver二进制字段image

    本篇文章将深入探讨如何在Delphi中读取和写入SQL Server的"image"字段,特别关注于读取和写入DMP、JPG和GIF等图片格式。 首先,确保你的Delphi项目已经集成了ADO(ActiveX Data Objects)组件库,因为我们将使用它...

    SQLServer 二进制生成文件

    SQL Server作为一款广泛使用的数据库管理系统,经常需要处理各种类型的数据,包括文本、数字以及二进制数据。二进制数据通常用于存储图像、文档、音频或视频等非结构化信息。本话题将深入探讨如何在SQL Server中操作...

    matlab中二进制数据的读取

    MATLAB 中二进制数据的读取 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。选择哪种机制,则根据用户所...

    SqlServer与Oracle保存与读取图片二进制流

    本文将深入探讨如何在SQL Server 2008和Oracle数据库中保存和读取图片的二进制流。 1. **二进制流**:二进制流是一种数据表示方式,允许我们处理任何类型的原始字节数据,包括图片、音频文件或视频文件。在数据库中...

    ReadImages_sourcel1r_dieq2j_读取SQL数据库二进制图片_

    本文将深入探讨如何从SQL数据库中读取存储的二进制图片,并将其转换为可本地查看的文件。 首先,我们需要了解在SQL数据库中存储二进制数据的基本概念。通常,我们会使用BLOB(Binary Large Object)类型来存储图片...

    java读取sqlserver image字段.docx

    本文将详细介绍如何使用Java语言读取SQL Server中的`IMAGE`字段,并将其转换为图片文件。 #### 二、关键技术点 ##### 1. JDBC连接SQL Server 在Java中,通过JDBC (Java Database Connectivity) 连接SQL Server是...

    如何把图片以二进制方式存入SQL_Server数据库_并能读取出来

    ### 如何将图片以二进制方式存入SQL Server数据库并读取出来 在实际的应用开发过程中,我们经常需要处理图像文件,例如用户头像、产品图片等。这些图像文件通常体积较大,不适合直接存储为文件系统中的独立文件,...

    Delphi 二进制图片的存储和读取

    本文将深入探讨如何在 Delphi 中存储和读取二进制图片,重点在于流操作,并结合XE10及7版本的代码实例进行讲解。 1. **二进制图片的理解** 图片在计算机中是以二进制形式存储的,由像素数据组成,这些数据可以是...

    C#图片转换成二进制流并且保存到sql server数据库.pdf

    "C#图片转换成二进制流并保存到SQL Server数据库" 本文将详细讲解如何使用C#将图片转换成二进制流并保存到SQL Server数据库。以下是相关知识点的总结: 一、图片转换成二进制流 在C#中,可以使用FileStream类来...

    Matlab中二进制数据的读取2.pdf

    在Matlab中,读取二进制数据是一项常见的任务,特别是在处理硬件接口、数据记录或文件格式转换时。本文主要讨论如何在Matlab环境中读取和写入二进制数据。 二进制数据读取主要有两种方法:使用导入模板和使用专门的...

    图片的读取与存储(二进制形式)

    两个字段 id和Image类型的content字段(用来存放图片用二进制读取的内容)还有一个存储过程(我喜欢用存储过程)数据库里面有内容(那个女的不是我.)打开项目时请将数据库附加到SQL server 2005. 项目的功能大家...

    C#二进制图片的存储或读取

    本文将深入探讨如何在C#中进行二进制图片的存储和读取,并结合SQL Server数据库进行操作。 首先,让我们了解二进制流的基本概念。二进制流是计算机处理数据的一种方式,它将图像、音频、视频等非文本数据以连续的...

    Python如何向SQLServer存储二进制图片

    SQL Server数据库提供了一种存储二进制大对象(BLOB)数据类型,如图片,的机制,即`image`类型(在较新版本中被`varbinary(max)`替代)。本篇将详细介绍如何使用Python连接SQL Server并存储二进制图片。 首先,...

    Matlab中二进制数据的读取2.doc

    在MATLAB中,二进制数据的读取是程序员经常需要进行的操作,特别是在处理底层数据或者与外部设备交互时。二进制数据由于其高效的数据存储特性,常常用于存储大量数值或非结构化的数据。本小节将详细介绍如何在MATLAB...

    matlab中二进制数据的读取.docx

    在MATLAB中,二进制数据的读取和存写是一项重要的操作,特别是在处理大量原始数据或需要高效传输数据的场合。MATLAB提供了多种方法来处理这类任务,包括使用内置函数和I/O文件函数。 首先,要理解二进制文件与文本...

    aspnet(C#)实现从sqlserver数据库中下载以二进制存储的图片

    在ASP.NET(C#)开发中,常常需要处理存储在SQL Server数据库中的二进制数据,例如图片、PDF文档等。本教程将详细讲解如何从数据库中下载这些以二进制形式存储的图片。 首先,我们需要了解数据库中二进制数据的存储...

    Matlab中二进制数据的读取2.docx

    在Matlab中,二进制数据的读取是常见的任务,尤其在处理底层硬件数据或者科学计算时。本文主要介绍了两种方法:使用导入模板和使用导入函数。 首先,使用导入模板读取二进制数据非常直观。只需通过File菜单选择...

    matlab中二进制数据的读取.pdf

    下面将详细讨论如何在MATLAB中进行文件的打开和关闭、文本文件的读取、二进制数据的读取和存写,以及使用I/O文件函数进行数据读写。 首先,文件的打开和关闭是数据操作的基础。`fopen`函数用于打开文件,例如`f = ...

    SQLSERVER_后台导入二进制数据方法.doc

    其次,我们需要创建一个存储过程 SQLDEBUG_TextCopy,这个存储过程将负责将二进制数据从文件中读取出来并写入到 SQL Server 数据库中。这个存储过程将 accept 七个参数:服务器名、登录名、密码、数据库名、表名、...

Global site tag (gtag.js) - Google Analytics