当前位置: 首页 > 知识库问答 >
问题:

获取以字节数组形式存储在联机数据库中的图像,类型为“image”

孔飞翔
2023-03-14

我正在创建一个Android应用程序,我需要检索存储在在线MSSQL数据库中的图像。该表名为ImagesData,其中包含名为Image_Data的列,其类型为“图像”。该列的内容是十六进制值(它以0x9F4AB7DA7开始......等等)。每个条目大约有43679个字符长(用上面提到的十六进制字符填充)。我的疑问是如何检索这个十六进制数据,并在我的应用程序中显示为ImageView。

注意:我尝试使用PHP脚本检索数据,但出现了一个错误:“警告:mssql_query()[function.mssql query]:消息:仅Unicode排序规则中的Unicode数据或ntext数据无法发送到使用DB Library(如ISQL)或ODBC版本3.7或更早版本的客户端。(严重性16)”

<?php

include('config.php');

  $query= "select * from ImagesData where Image_id = '7'";
  $result = mssql_query($query);


  while($row = mssql_fetch_array($result))
 {
 echo $row["Image_Data"];
 }

 mssql_close();
 ?>

我尝试了这里建议的修改代码(PHP中的MSSQL查询问题和查询文本数据),但也给出了一个错误,说“警告:mssql_query()[function.mssql-查询]:消息:不允许从数据类型图像到文本的显式转换。(严重性16)”。

<?php

include('config.php');

$query= "select CAST(Image_data AS TEXT) AS Image_Data from ImagesData where Image_id = '7'";
$result = mssql_query($query);


while($row = mssql_fetch_array($result))
{
echo $row["Image_Data"];
}

mssql_close();
?>

共有2个答案

池永长
2023-03-14

像这样做

   $image = base64_decode($thumb);

        /** check if the image is db */
        if($image!=null)
        {

            $db_img = imagecreatefromstring($image);
            Header("Content-type: image/jpeg");
            imagejpeg($db_img);

        }
exit;
翟俊哲
2023-03-14

对于存储图像,我们通常将图像的位置和名称存储在db...如果图像存储在数据库中,例如C:/xampp/htdocs/网站/图像/image.jpg,我们会保存图像的名称。如果位置可以通过相对路径找到,例如:website.com/images/,我们将php中图像的路径设置为图像/$row[db中图像的名称]。由于链接是相对的,您的图像将自动加载从website.com/images/image.jpg或localhost/website/images/image.jpg.

希望您了解如何保存和检索图像。我们不将图像数据保存在数据库中,而是将图像保存在数据库中的位置。

 类似资料:
  • 问题内容: 我正在用HTML / JavaScript编写网页。我正在使用AJAX从后端下载图像。该图像表示为原始字节数组,而不是URL,因此我不能使用标准方法。 如何向用户显示上述图像? 问题答案: 尝试将此HTML代码段放入您提供的文档中: 然后,在JavaScript方面,您可以使用所谓的Data动态修改图片的属性。 或者,使用jQuery: 假定您的图像以PNG格式存储,这是非常流行的。如

  • 问题内容: 我正在用HTML / JavaScript编写网页。我正在使用AJAX从后端下载图像。该图像表示为原始字节数组,而不是URL,因此我不能使用标准方法。 如何向用户显示上述图像? 问题答案: 尝试将此HTML代码段放入您提供的文档中: 然后,在JavaScript方面,您可以使用所谓的Data URL动态修改图片的属性。 或者,使用jQuery: 假定您的图像以PNG格式存储,这是非常流

  • 所以,我想让用户同时上传多个图像到firebase存储。我已经成功地完成了这部分,但现在我想要取回图像。一开始,我上传一个图像给每个用户,并将图像id保存到实时数据库中,这样就很容易通过图像id检索回图像。但是现在我如何为每个用户保存多个图像到实时数据库我不能使用相同的子名,因为它将被替换为旧的。有什么想法吗?? 上载图像并在实时数据库上设置id: 我的firebase数据库:

  • 我有一个通过ORM保存到数据库的对象。对象有一个字符串数组,每个对象的数组长度可以不同。我想知道在db中存储字符串数组的标准做法(例如,我是否应该将所有字符串存储在一个字段中作为csv等)?

  • 问题内容: 在数据库中存储图像的常用方法是在存储数据之前将图像转换为数据。此过程将使大小增加33%。或者,可以将图像直接存储为;例如: 然后用 使用后一种方法,我们可以节省1/3的存储空间。为什么像在MySQL数据库中那样存储图像更常见? 更新: 关于将图像存储在数据库中的优点和缺点的争论很多,大多数人认为这不是一种实用的方法。无论如何,在这里我假设我们将图像存储在数据库中,并讨论了这样做的最佳方

  • 问题内容: 给定一些源文件(或更通用的输入流),我需要找出 它是图像吗 如果它是图像,则检索其类型(png / jpeg / gif / etc) 检索exif数据(如果有) 我看了看API,但尚不清楚如何获取图像或Exif数据的类型。 问题答案: 几年前,我上一次不得不这样做时,标准API无法读取EXIF数据。该库可以这样做: http://www.drewnoakes.com/code/exi