Appending Blob data

后端 未结 1 691
别跟我提以往
别跟我提以往 2020-12-05 00:08

Is there a function for appending blob data in JavaScript I currently use the following approach:

var bb = new Blob([\"Hello world, 2\"], { typ         


        
相关标签:
1条回答
  • 2020-12-05 01:05

    Blobs are "immutable" so you can't change one after making it. Constructing a new Blob that appends the data to an existing blob (as you wrote in your initial question) is a good solution.

    If you don't need to use the Blob each time you append a part, you can just track an array of parts. Then you can continually append to the array and then construct the Blob at the end when you need it.

    var MyBlobBuilder = function() {
      this.parts = [];
    }
    
    MyBlobBuilder.prototype.append = function(part) {
      this.parts.push(part);
      this.blob = undefined; // Invalidate the blob
    };
    
    MyBlobBuilder.prototype.getBlob = function() {
      if (!this.blob) {
        this.blob = new Blob(this.parts, { type: "text/plain" });
      }
      return this.blob;
    };
    
    var myBlobBuilder = new MyBlobBuilder();
    
    myBlobBuilder.append("Hello world, 2");
    
    // Other stuff ... 
    
    myBlobBuilder.append(",another data");
    var bb = myBlobBuilder.getBlob();
    
    0 讨论(0)
提交回复
热议问题