问题标签 [blob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
52079 浏览

java - 从 Java 中的 blob 内容创建文件的片段

我有一些文件存储在 Oracle 9 的数据库 blob 列中。

我想将这些文件存储在文件系统中。

这应该很容易,但我找不到合适的剪断。

我怎样才能在java中做到这一点?

我知道它应该是这样的......我不知道是什么被评论为神秘

谢谢

编辑

我终于从大卫的问题中得到了这个。

这是我的懒惰实现:

0 投票
3 回答
4960 浏览

mysql - MySQL 5.0:以(格式良好的)XML 格式输出 BLOB 数据?

我正在为 MySQL 编写一个 Web 界面,它执行几个查询并返回一些带有查询结果的 XML 数据。现在,运行查询的表有三个 LONGBLOB 列(用于存储图像数据等)。

但是,当我尝试解析 XML 时,我遇到了 BLOB 列中的某些字符的问题:看起来 MySQL 只是将直接的十六进制数据转储到流中,我的解析器不接受它。

有没有办法让 MySQL 输出包含十六进制数据的格式良好的 XML?我查看了该mysqldump --hex-blob选项,但我正在使用该mysql程序,因为我需要对表运行查询,而不仅仅是获取整个表的内容。我可以使用字符串表示、标签xs:hexBinary中的元素或任何类似的东西。<field>

编辑:我正在使用 PHP 5.2.9。问题的背景是提供一种类似于 Digg 的 API,具有多个 HTTP 可访问的端点,例如/objects/edit等。这个想法是跨多个平台的许多客户端应用程序可以使用 API 作为公共基础来访问相同的数据集,而无需关心支持它的数据库(可能会发生变化)。

我要存储的对象类型之一是(小)图像,我想使用 MySQL LONGBLOB 类型直接在数据库中这样做。(我只负责使 API 与 MySQL 后端数据库一起工作,因此答案可以将 DB 类型、语言和实用程序作为给定的。)基本上我想要做的是找到一种方法来提供图像回来与其他一些混合类型数据(主要是字符串)相同的 XML 文档中的请求应用程序。

编辑:我正在使用mysql --xml命令行程序和 PHPpassthru函数的组合从 MySQL 中获取 XML。这是在我开发它时完成我想要的最简单的方法;有没有更好的办法?我应该从 MySQL 字段中用 PHP 构建 XML,而不是依赖 MySQL 为我做这件事吗?如果是这样,那会更容易以 XML 格式发送图像数据吗?

0 投票
3 回答
5891 浏览

oracle - 将 LOB 添加到 Oracle 表有什么问题?

我正在尝试通过添加新的 CLOB 列(在 Oracle 10 上)来更改表,但它失败了给我一个 ORA-01735 错误。问题是我无法通过谷歌搜索找出我的查询有什么特别的问题,所以我想我会在这里问以防万一。

无论如何,我的查询是:

并得到以下错误:

有任何想法吗?

谢谢。

0 投票
4 回答
9078 浏览

sql - 在mysql中存储二进制数据

我在本地机器上有一个 PDF 文件。我想将此文件上传到 SQL 数据库上的 BINARY BLOB 中。这里提到的其他方法 [ MySQL 中的二进制数据都使用 PHP。我想要一种简单干净的方式在 Linux 命令行上上传这个 PDF 文件。不幸的是,我无法访问远程文件系统,所以不能像其他地方提到的那样只存储文件的链接......我有点需要使用这个 MySQL 数据库作为这些 PDF 文件的虚拟文件系统......

从 PhP 示例中,似乎只需要在使用 INSERT 命令之前转义斜杠吗?有没有一种简单的方法可以在 Linux 命令行上实现这一点?

0 投票
3 回答
4875 浏览

c++ - 如何在 C++ 连接器中使用 setBlob() 设置二进制数据

我知道以前有人问过这个问题,并且我尝试实施该解决方案,但是当我调用 ps->executeUpdate() 时,我得到了异常错误。有没有人有一个明确的例子?

0 投票
2 回答
457 浏览

database - 当必须将图片作为 blob 存储在数据库中时,将图片发送到浏览器的最佳方式是什么?

我有一个现有的数据库,其中包含 blob 字段中的一些图片。对于 Web 应用程序,我必须显示它们。

考虑到服务器的压力以及维护和编码工作,最好的方法是什么。

我可以想到以下几点:

  • 将 blob“缓存”到外部文件并将文件发送到浏览器。
  • 每次请求时直接从数据库中读取它们。

一些额外的事实:

  • 我无法更改数据库并一起摆脱 blob,而只能将文件引用保存在数据库中(就像在 ol' Access 时代一样),因为该数据库被另一个实际需要 blob 的应用程序使用。
  • 图像很少更改,即如果图像在数据库中,它通常会永远保持这种状态。
  • 将对图片进行多次读取访问,每个视图将显示 10-100 张图片。(取决于用户的设置)
  • 图片相对较小,< 500 KB
0 投票
2 回答
1904 浏览

java - 如何使用 Oracle 目录别名和 BFILE 对象将上传的文件写入磁盘?

我有一个 java webapp,它需要通过 http 上传文件,然后将它们存储在服务器上。这些文件需要与 Oracle 数据库中的特定记录相关联,因此数据库中将有一个表存储对关联记录的引用、对文件的引用以及其他描述性数据,例如标题等。选项因为这张表似乎是:

  • 将文件存储为 BLOB
  • 存储对文件的 BFILE 引用
  • 存储一个包含文件路径的字符串

我们更愿意将文件存储在数据库之外,因此我们不会将其存储为 BLOB。DBA 表示他们的首选选项是将引用存储为 BFILE。oracle.sql.BFILE 对象提供对 InputStream 的访问以读取文件,但没有明显的写入方式。

当对存储目录的唯一引用是 Oracle 目录别名时,将文件数据写回磁盘的最佳方法是什么?


我们认为简单的 java.io 是写入文件的最佳方式,这意味着存储目录必须作为挂载可供 Web 应用程序服务器使用。由于该目录无论如何都可用于 webapp,因此我们决定不需要 BFILE,而只是将文件名存储在数据库中。

0 投票
3 回答
570 浏览

amazon-s3 - 结合关系和基于文档的“数据库”

我正在开发一个关于媒体归档、搜索、上传、分发以及处理 BLOB 的系统。

我目前正在尝试找出处理 BLOB 的最佳方法。对于具有大量内存和巨大磁盘的高端服务器,我的资源有限,但我可以访问大量中等性能的现成计算机并将它们连接到 Internet。

因此,我决定将 BLOB 存储在中央关系数据库中,因为在最坏的情况下,我将拥有一个非常重的数据库实例,可能在单个普通机器上。不是一个选择。

将 BLOB 作为文件直接存储在文件系统上并将其路径存储在数据库中也有些难看,并且必须手动管理分发,自己跟踪不同的副本。我什至不想接近那个。

我查看了 CouchDB,我真的很喜欢他们基于点对点的设计。这将允许我在 Internet 上运行分布式机器集群,这意味着:

  • 低成本硬件
  • 开箱即用的冗余和故障转移分发
  • 轻量级 REST 接口

因此,如果我没记错的话,可以这样总结:Cloud like API and self-managed,distributed,replicated system

系统的其余部分执行任何普通 Web 应用程序所做的正常工作:处理会话、安全性、用户、搜索等。对于这一部分,我仍然想使用关系数据模型。(CouchDB 声称不能替代关系数据库)。

因此,我将拥有所有标准数据,包括关系数据库中的 BLOB元数据,但 CouchDB 中的 BLOB 本身。

您认为这种方法有问题吗?我错过了什么重要的东西吗?你能想出更好的解决方案吗?

谢谢!

0 投票
1 回答
848 浏览

java - org.springframework.orm.hibernate3.support.BlobByteArrayType 有什么用?

org.springframework.orm.hibernate3.support.BlobByteArrayType有什么用?
为什么不将 a 映射byte[]为 Hibernate 基本类型“二进制”?

有什么区别?什么时候用哪个?

谢谢!

0 投票
1 回答
1332 浏览

asp.net - 来自 SQL BLOB 的 ASPNet 电子邮件附件

我们将预定的电子邮件信息存储在 SQL Server 2005 中。电子邮件信息中包含 0-3 个不同文件类型的附件。我有一个运行“x”分钟的 VB.net Windows 服务,使用来自 SQL Server 的电子邮件信息填充数据集,构建电子邮件,并通过 ASPNet EMail 发送它们。

尝试从 BLOB 构建和添加附件会导致电子邮件发送方法超时,即使附件只是一个 15 字节的文本文件。将路径直接硬编码到文件可以正常工作。我尝试了几种方法,但都无法正确处理。