标签: blob

使用Python在SQLite数据库中插入二进制文件

我正在尝试编写一个简单的Python脚本,将.odt文档插入到SQLite数据库中.这是我到目前为止所做的,但它似乎不起作用:

f=open('Loremipsum.odt', 'rb')
k=f.read()
f.close()
cursor.execute="INSERT INTO notes (note) VALUES ('%s')" %(sqlite.Binary(k))
cursor.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误消息,但据我所知,记录未插入.我究竟做错了什么?另外,如何将存储的文档提取回来?谢谢!

python sql sqlite binary blob

14
推荐指数
3
解决办法
3万
查看次数

Chrome:使用Javascript从blob创建文件输入?

那么,a的files属性input[type=file]是只读的.因此,我无法将blob数据写入此输入元素.

但是如果我使用创建新的输入文件元素Javscript,那么可以在创建时插入blob数据吗?我只对在chrome (extension)其他浏览器中工作的解决方案感兴趣.

google-chrome blob file input google-chrome-extension

14
推荐指数
1
解决办法
6140
查看次数

long类型的错误值: - Postgresql,Hibernate,Spring

我想使用Spring MVC和Hibernate在PostgresQL中存储一个实体(一个String +一个图像)这是我的表.该图像应该是oid的类型.

CREATE TABLE document
(
  name character varying(200),
  id serial NOT NULL,
  content oid,   // that should be the image
  CONSTRAINT document_pkey PRIMARY KEY (id )
)
WITH (
  OIDS=FALSE
);
Run Code Online (Sandbox Code Playgroud)

这是我想要存储的实体.

    @Entity
    @Table(name = "document")
    public class Document {

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id")
        private Long id;

        @Column(name = "name")
        private String name;

        @Column(name="content")
            private Blob content;  //this is the image
//getters- setters
Run Code Online (Sandbox Code Playgroud)

您可以看到变量"name"是String,而不是Long.仍然当我提交一个不是数字的值的表单时,它会抛出 org.postgresql.util.PSQLException: Bad value for type long : x

这是表格:

<form:form method="post" …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring hibernate blob

14
推荐指数
3
解决办法
2万
查看次数

将TEXT/BLOB存储在同一个表中或不存在?

在搜索SO时,我发现了两个相互矛盾的答案(甚至是一条评论说明了这一点),但没有明确的答案:

问题是:如果在表外存储TEXT/BLOB字段,是否有任何性能优势?

我们猜测:

  • 你正确选择(如果需要,只选择TEXT/BLOB,不选择SELECT*)
  • 表格被正确编入索引,这是有意义的(所以这不是"如果你索引它"的问题)
  • 数据库设计并不重要.这是在这种特殊情况下识别MySQL行为的问题,而不是解决某些数据库设计问题.假设这个数据库只有一个表(如果TEXT/BLOB分开,则为两个表)
  • 二手引擎:innoDB(其他人也很有趣,如果他们取得不同的结果)

这篇文章指出,将TEXT/BLOB放入一个单独的表中,只有在你已经以错误的方式选择时才会有所帮助(即使没有必要也总是选择TEXT/BLOB) - 基本上说明了TEXT/BLOB中的TEXT/BLOB相同的表基本上是更好的解决方案(更少的复杂性,没有性能损失等),因为TEXT/BLOB无论如何都是单独存储的

将TEXT列移动到另一个表中的唯一时间将提供任何好处,如果通常从表中选择所有列的趋势.这只是引入第二种不良做法来弥补第一种不良做法.不言而喻,这两个错误与三个左翼不一样.

带有TEXT列的MySQL表


但是,这篇文章指出:

当表具有TEXT或BLOB列时,表无法存储在内存中

这是否意味着在表格中有一个TEXT/BLOB已经足够,以达到性能?

MySQL varchar(2000)vs text?


我的问题基本上是:答案是正确的?

如果你SELECT正确地将TEXT/BLOB存储到一个单独的表中,这真的很重要吗?

或者甚至在表格中有一个TEXT/BLOB,会产生潜在的性能影响?

mysql performance storage text blob

14
推荐指数
2
解决办法
4641
查看次数

将文本文件写为blob时无法保留换行符

我有一个文本区域,其中包含我想输出到文本文件供用户下载的文本.

当用户单击"保存"按钮时,我正在使用此功能来抓取它

function saveTextAsFile()
{
    var textToWrite = document.getElementById("inputText").value;
    var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
    alert(textFileAsBlob);
    var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value;

    var downloadLink = document.createElement("a");
    downloadLink.download = fileNameToSaveAs;
    downloadLink.innerHTML = "Download File";
    if (window.webkitURL != null)
    {
        // Chrome allows the link to be clicked
        // without actually adding it to the DOM.
        downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
    }
    else
    {
        // Firefox requires the link to be added to the DOM
        // before it can be clicked.
        downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
        downloadLink.onclick = …
Run Code Online (Sandbox Code Playgroud)

html javascript blob web

14
推荐指数
1
解决办法
1万
查看次数

将图像插入BLOB Oracle 10g

我试图将图像插入签名中的BLOB字段,然后我将从表中选择并在报表上呈现.我似乎无法想象如何将图像放入表格.我做了一个插入,但是当我渲染时,只有图像的路径显示在报告上,而不是图像本身.

CREATE TABLE esignatures (
  office   NUMBER(6,0)  NOT NULL,
  username VARCHAR2(10) NOT NULL,
  iblob    BLOB         NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

INSERT语句(SQL)

INSERT INTO esignatures  
VALUES (100, 'BOB', utl_raw.cast_to_raw('C:\pictures\image1.png'));
Run Code Online (Sandbox Code Playgroud)

我知道我确定以HEX值的形式插入String位置如何在表格中获取图像HEX值,因此当我渲染时我将看到正在显示的图像.

sql oracle blob oracle10g

14
推荐指数
2
解决办法
10万
查看次数

Youtube Blob网址在浏览器中不起作用,但在src中不起作用

我知道没有blob网址只有对象.
我为视频缓冲区创建了自己的blob对象,然后在视频标记的src中使用它,类似于blob://website.com/blablobbla.我在它工作的浏览器中打开了这个url

当我打开youtube视频src(blob url)的url到一个新标签时,它没有用,但是我的视频src(blob url)工作了

我想知道如何对我的blob网址执行相同操作,以便它们只能在html视频标记的src中工作,并且在浏览器的外部选项卡/窗口中发出错误或不起作用.我只是想知道这个和blob对象及其url属性背后的技术.

javascript url blob fileapi media-source

14
推荐指数
2
解决办法
8166
查看次数

请求 blob 图像并使用 fetch API 转换为 base64

我有一些图像将显示在 React 应用程序中。我向服务器执行 GET 请求,该请求以 BLOB 格式返回图像。然后我将这些图像转换为 base64。最后,我在图像标签的 src 属性中设置这些 base64 字符串。

最近我开始使用 Fetch API。我想知道是否有办法在“一次”中进行转换。

下面是一个示例来解释我目前的想法和/或 Fetch API 是否可以实现这一点。我还没有在网上找到任何东西。

  let reader = new window.FileReader();
  fetch('http://localhost:3000/whatever')
  .then(response => response.blob())
  .then(myBlob => reader.readAsDataURL(myBlob))
  .then(myBase64 => {
    imagesString = myBase64
  }).catch(error => {
    //Lalala
  })
Run Code Online (Sandbox Code Playgroud)

javascript base64 blob fetch fetch-api

14
推荐指数
2
解决办法
1万
查看次数

使用Python将SQLite中的blob写入文件

一个无能的Python新手需要帮助.我混淆了创建一个简单的脚本,将二进制文件插入到SQLite数据库的博客字段中:

import sqlite3
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
input_note = raw_input(_(u'Note: '))
    input_type = 'A'
    input_file = raw_input(_(u'Enter path to file: '))
        with open(input_file, 'rb') as f:
            ablob = f.read()
            f.close()
        cursor.execute("INSERT INTO notes (note, file) VALUES('"+input_note+"', ?)", [buffer(ablob)])
        conn.commit()
    conn.close()
Run Code Online (Sandbox Code Playgroud)

现在我需要编写一个脚本来抓取特定记录的blob字段的内容,并将二进制blob写入文件.在我的例子中,我使用SQLite数据库来存储.odt文档,所以我想抓取它们并将它们保存为.odt文件.我该怎么做?谢谢!

python sql sqlite binary blob

13
推荐指数
1
解决办法
2万
查看次数

在SQL Server 2008中存储文档的最佳策略

我们的一个团队将开发一个应用程序来存储SQL2008数据库中的记录,并且每个记录都有一个相关的PDF文件.目前有大约340GB的文件,大多数(70%)大约是100K,但有些是几兆字节.数据主要是插入和读取,但文件有时会更新.我们正在讨论以下选项:

  1. 将文件存储为数据库中的BLOB.

  2. 将文件存储在数据库之外,并将路径存储在数据库中.

  3. 使用SQL2008的文件流功能来存储文件.

我们已经阅读了有关文件流数据的Micrsoft最佳实践,但由于文件大小不同,我们不确定选择哪条路径.我们倾向于选项3(文件流),但有一些问题:

  1. 考虑到上面提到的数据量和文件大小,您会选择哪种架构?

  2. 数据访问将使用SQL身份验证完成,而不是Windows身份验证,并且Web服务器可能无法使用Windows API访问这些文件.这会使filstream的表现比其他两个选项差吗?

  3. 由于SQL备份包含文件流数据,因此会导致非常大的数据库备份.其他人如何使用大量文件流数据处理备份数据库?

sql-server blob filestream sql-server-2008

13
推荐指数
1
解决办法
8539
查看次数