标签: blob

巨大的JavaScript HTML5 blob(来自大型ArrayBuffers)在客户端构建一个巨大的文件

我正在编写一个Web浏览器应用程序(客户端),它从许多位置下载大量的块并加入它们来构建blob.然后该blob作为公共文件保存到本地文件系统.我这样做的方式是使用ArrayBuffer对象和blob.

var blob = new Blob([ArrayBuffer1, ArrayBuffer2, ArrayBuffer3, ...], {type: mimetype})

这适用于中小型文件(直到700 MB aprox),但浏览器崩溃时文件较大.我知道RAM内存有其局限性.情况是我需要构建blob以生成文件,但我想让用户下载比这个大得多的文件(想象一下,例如,大约8GB的文件).

¿如何构建blob以避免大小限制?LocalStorage比RAM更受限制,因此我不知道该使用什么或如何使用它.

javascript html5 google-chrome blob html5-filesystem

17
推荐指数
1
解决办法
7763
查看次数

用于从Java中的blob内容创建文件的代码段

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

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

这应该很简单,但我找不到合适的剪辑.

我怎么能在java中这样做?

 PreparedStatement ptmst = ...
 ResutlSet rs = pstmt.executeQuery();
 rs.getBlob();
 // mistery 
 FileOutputStream out = new FileOutputStream();
 out.write(); // etc et c
Run Code Online (Sandbox Code Playgroud)

我知道它应该是类似的东西...我不知道是什么评价为

谢谢

编辑

我终于得到了大卫的问题.

这是我懒惰的实现:

PreparedStatement pstmt = connection.prepareStatement("select BINARY from MYTABLE");
ResultSet rs = pstmt.executeQuery();
while( rs.next() ) {
    Blob blob = rs.getBlob("BINARY");
    System.out.println("Read "+ blob.length() + " bytes ");
    byte [] array = blob.getBytes( 1, ( int ) blob.length() );
    File file = File.createTempFile("something-", ".binary", new File("."));
    FileOutputStream out = new …
Run Code Online (Sandbox Code Playgroud)

java blob jdbc

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

SQL Server 2005/2008:在Transact-SQL的varbinary(max)列中插入文件

是否可以在Transact-SQL的varbinary(max)列中插入文件?如果是的话,我会很高兴有一个代码片段,至少让我知道如何做到这一点.

谢谢

sql-server blob sql-server-2005 insert varbinary

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

Git - 获取他们创建的所有提交和blob

是否有可以为每次提交输出的git命令:

  1. ID
  2. 学科
  3. 它用它们的路径和大小git ls-tree -l -r <commit>创建的blob (仅限于创建的blob)

git blob commit

16
推荐指数
4
解决办法
2万
查看次数

BLOB与VARCHAR用于在MySQL表中存储数组

我有一个设计决定,我正在寻找一些最佳实践建议.我有一个java程序,需要在MySQL数据库中存储大量(每天几百个)浮点数组.数据是一个长度Double为300 的固定长度数组.我可以看到三个合理的选项:

  1. 将数据存储为BLOB.
  2. 序列化数据并将其存储为VARCHAR.
  3. 将数据作为二进制文件写入磁盘并存储对它的引用.

我还要提一下,这些数据将被频繁地读取和更新.

我想使用BLOB,因为这是我过去所做的,它似乎是最有效的方法(例如,保持固定宽度,不需要转换为逗号分隔的字符串).然而,我的同事坚持认为我们应该序列化和使用varchar,原因似乎主要是教条.

如果其中一种方法比另一种更好,那么Java或MySQL的具体原因是什么?

java mysql arrays varchar blob

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

使用php在MySql数据库中插入Blob

我试图将图像存储在DataBase中,由于某种原因它似乎不起作用.这是我桌子的结构.

mysql> describe ImageStore;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| ImageId | int(11)  | NO   | PRI | NULL    |       |
| Image   | longblob | NO   |     | NULL    |       |
+---------+----------+------+-----+---------+-------+
2 rows in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

这是我的查询插入图像或至少这应该是什么:

//Store the binary image into the database
                $tmp_img = $this->image['tmp_name'];
                $sql = "INSERT INTO ImageStore(ImageId,Image)               
                VALUES('$this->image_id','file_get_contents($tmp_image)')";
                mysql_query($sql); 
Run Code Online (Sandbox Code Playgroud)

如果我打印file_get_contents($ tmp_image)的值,那么屏幕上会有大量数据.但是这个值并没有存储在数据库中,这就是我所面临的问题.

php mysql blob

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

将base64编码数据存储为BLOB或TEXT数据类型

我们有一个MySQL InnoDB表,包含~10列小base64编码的javascript文件和png(<2KB大小)图像base64编码.

相对较少的插入和大量读取,但是输出被缓存在Memcached实例上几分钟以避免后续读取.

现在我们正在使用BLOB这些列,但我想知道TEXT在性能或快照备份方面是否有转换到数据类型的优势.

我的搜索挖掘表明,BLOBTEXT我的情况接近相同的,因为我不知道前手什么类型的数据实际上将被存储我去了BLOB.

对于这个具体案例,你对TEXT vs BLOB辩论有什么指示吗?

mysql text innodb blob

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

上传blob作为多部分上传导致在500mb之后Chrome上的net :: ERR_FILE_NOT_FOUND

我只在谷歌Chrome和Chromium上遇到了一个非常奇怪的问题.

背景是:

我使用多部分上传方法将文件上传到我的服务器,这意味着我将文件分成10mb的块并将每个块发送到服务器.这在所有具有任何大小的文件的浏览器中都可以完美地工作,当我需要加密每个块时问题就开始了.

对于加密我使用CryptoJS,并且在上传块之前,我加密它并获得结果Blob上传,当我必须上传少于50个块(50个blob,总共约500mb)时,这在Chrome上正常工作,之后我得到a POST http://(...) net::ERR_FILE_NOT_FOUND.

奇怪的是,这适用于所有其他浏览器,包括Opera,现在基本上是Chrome,除了Chrome和Chromium.我在IE,Firefox,Edge,Safari,Opera,Chrome和Chromium上测试过它.

下面你可以看到我的代码如何工作所以你们可以有一个想法,这不是我在应用程序中使用的真实代码,而是,它是我编写的测试代码产生相同的结果.

而不是获取文件的片段(File.slice)我将作为一个块上传并加密它以获得它blob,我将生成一个伪造blob我的块的大小.我用它setTimeout来模拟加密blob所需的时间.就像我之前说的那样,通过这样做,我得到了与我的真实代码相同的结果:

function uploadNext(prevResponse) {  
    if (currentPart == totalPartsFile)
        return;

    //var chunk = getNextChunk();
    var totalSize = file.size;

    setTimeout(function() {
        var blob = new Blob([new ArrayBuffer(constants.chunkSize)], {
            type: 'application/octet-string',
            name: file.name
        });

        console.log(blob);

        blob.encrypted = true;
        blob.key = encryptionKey;
        blob.mimeType = file.mimeType;
        blob.name = file.name;
        blob.originalFileSize = originalFileSize || file.size;

        uploadFile(objectId, currentPart, blob, totalSize, prevResponse, function(resp) {
            uploadNext(resp);
        });
    }, 1000); …
Run Code Online (Sandbox Code Playgroud)

javascript upload google-chrome blob multipartform-data

16
推荐指数
1
解决办法
1760
查看次数

Angular 5 使用 blob 响应和 json 错误管理 http get

我正在开发一个 Angular 5 应用程序。我必须从我的后端应用程序下载一个文件,为此我只需调用如下函数:

public executeDownload(id: string): Observable<Blob> {
  return this.http.get(this.replaceUrl('app/download', denunciaId), {responseType: 'blob'}).map(result => {
    return result;
  });
}
Run Code Online (Sandbox Code Playgroud)

并调用我刚刚调用的下载服务:

public onDownload() {
  this.downloadService.executeDownload(this.id).subscribe(res => {
    saveAs(res, 'file.pdf');
  }, (error) => {
    console.log('TODO', error);
    // error.error is a Blob but i need to manage it as RemoteError[]
  });
}
Run Code Online (Sandbox Code Playgroud)

当后端应用程序处于特定状态时,它不会返回 Blob,而是返回一个HttpErrorResponse在其error字段中包含RemoteError 数组的对象。RemoteError 是我编写的用于管理远程错误的接口。

在 catch 函数中,error.error 是一个 Blob。如何将 Blob 属性转换为RemoteError[]?

提前致谢。

blob http typescript angular angular5

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

如何从HttpClient下载文件

我需要从我的后端下载一个excel,它返回一个文件.

当我提出请求时,我收到错误:

TypeError:您提供了"undefined",其中包含了一个流.您可以提供Observable,Promise,Array或Iterable.

我的代码是:

this.http.get(`${environment.apiUrl}/...`)
      .subscribe(response => this.downloadFile(response, "application/ms-excel"));
Run Code Online (Sandbox Code Playgroud)

我试过get和map(...)但是没有用.

细节:角度5.2

引用:

import { HttpClient } from '@angular/common/http';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/finally';
import 'rxjs/add/operator/map'
import 'rxjs/add/operator/catch';
Run Code Online (Sandbox Code Playgroud)

内容 - 响应类型:

Content-Type: application/ms-excel
Run Code Online (Sandbox Code Playgroud)

怎么了?

blob file typescript angular angular-httpclient

16
推荐指数
5
解决办法
5万
查看次数