所以我正在使用一个将图像存储在数据库中的应用程序.你对此有何看法?我更像是一种在文件系统中存储位置的类型,而不是直接将它存储在数据库中.
您认为利弊是什么?
当强制通过window.location下载时,如何在JavaScript中设置blob文件的名称?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
Run Code Online (Sandbox Code Playgroud)
运行上面的代码会立即下载文件而不会刷新页面,如下所示:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
我想将文件名设置为my-download.json.
我想下载一个视频,其网址不是简单的mp4文件,但其网址是blob类型,例如.
<video id="playerVideo" width="450px" autoplay="autoplay" height="338px"
style="height:100%;width:100%;" class="mejs-rai-e"
src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354">
</video>
Run Code Online (Sandbox Code Playgroud)
是否有任何Chrome扩展程序或软件可用于下载播放视频.
什么是blob什么text?有什么区别?
我什么时候需要使用blob,何时需要text作为数据类型?
因为blob和text,有mediumblob== mediumtext,smallblob== small text.他们甚至有相同的含义吗?
看看这个MEDIUMBLOB,MEDIUMTEXT L+ 3个字节,在哪里L < 224.
什么是L?
我有一个使用hibernate 3.1和JPA注释的应用程序.它有一些具有byte []属性的对象(1k - 200k大小).它使用JPA @Lob注释,而hibernate 3.1可以在所有主要数据库上读取这些内容 - 它似乎隐藏了JDBC Blob供应商的特性(应该这样做).
@Entity
public class ConfigAttribute {
@Lob
public byte[] getValueBuffer() {
return m_valueBuffer;
}
}
Run Code Online (Sandbox Code Playgroud)
我们不得不升级到3.5,当我们发现hibernate 3.5 在postgresql中打破(并且不会修复)这个注释组合时(没有解决方法).到目前为止我还没有找到明确的解决方法,但我注意到如果我只是删除了@Lob,它使用了postgresql类型的bytea(有效,但只适用于postgres).
annotation postgres oracle works on
-------------------------------------------------------------
byte[] + @Lob oid blob oracle
byte[] bytea raw(255) postgresql
byte[] + @Type(PBA) oid blob oracle
byte[] + @Type(BT) bytea blob postgresql
once you use @Type, @Lob seems to not be relevant
note: oracle seems to have deprecated the "raw" type since 8i.
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来拥有一个可以在主要数据库之间移植的带注释的类(具有blob属性).
我试图从SQL控制台中看到Oracle BLOB中的内容.
我知道它包含一些有点大的文本,我想只看到文本,但是下面的查询只表明该字段中有一个BLOB:
select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>';
Run Code Online (Sandbox Code Playgroud)
我得到的结果并不完全符合我的预期:
BLOB_FIELD
-----------------------
oracle.sql.BLOB@1c4ada9
那么我可以做什么样的神奇咒语来将BLOB变成它的文本表示?
PS:我只是试图从SQL控制台(Eclipse Data Tools)查看BLOB的内容,而不是在代码中使用它.
我一直在尝试显示pdf文件,我从$http.post响应中获取blob .例如,pdf必须在应用程序中显示<embed src>.
我遇到了几个堆栈帖子,但不知怎的,我的例子似乎不起作用.
JS:
根据这份文件,我继续尝试......
$http.post('/postUrlHere',{myParams}).success(function (response) {
var file = new Blob([response], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
$scope.content = fileURL;
});
Run Code Online (Sandbox Code Playgroud)
根据我的理解,fileURL创建一个临时URL,博客可以将其用作参考.
HTML:
<embed src="{{content}}" width="200" height="200"></embed>
Run Code Online (Sandbox Code Playgroud)
我不知道如何在Angular中处理这个问题,理想的情况是(1)将它分配给范围,(2) '准备/重建'blob到pdf (3)将其传递给HTML使用<embed>因为我想要在应用程序中显示它.
我已经研究了一天以上但不知何故我似乎无法理解它在Angular中是如何工作的......让我们假设那里的pdf查看器库没有选项.
我正在研究Blob,我注意到当你有一个ArrayBuffer时,你可以很容易地将它转换为Blob,如下所示:
var dataView = new DataView(arrayBuffer);
var blob = new Blob([dataView], { type: mimeString });
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,是否可以从Blob转到ArrayBuffer?
我对这两种数据类型非常着迷.根据Oracle Docs,它们呈现如下:
BLOB:可变长度二进制大对象字符串,最长可达2GB(2,147,483,647).主要用于保存非传统数据,如语音或混合媒体.与FOR BIT DATA字符串一样,BLOB字符串与字符集无关.
CLOB:可变长度字符大对象字符串,最长可达2GB(2,147,483,647).CLOB可以存储单字节字符串或多字节,基于字符的数据.CLOB被视为字符串.
我不知道的是,从DB2和Oracle的角度来看,两者之间是否有任何区别?我的意思是,DB2 CLOB和Oracle CLOB之间,DB2 BLOB和Oracle BLOB之间有什么区别?DB2和Oracle中的最大大小是多少?它只是2 GB?