JasonDavis
JasonDavis

Reputation: 48933

How long does a Blob file created in Google Chrome Exist?

Part of a Google Chrome Extension I am working on has this existing JavaScript below for creating a Blog file from a screenshot image...

    getBlob = function(canvas) {
        // standard dataURI can be too big, let's blob instead
        // http://code.google.com/p/chromium/issues/detail?id=69227#c27

        var dataURI = canvas.toDataURL(),
            // convert base64 to raw binary data held in a string
            // doesn't handle URLEncoded DataURIs
            byteString = atob(dataURI.split(',')[1]),
            // separate out the mime component
            mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0],
            // write the bytes of the string to an ArrayBuffer
            ab = new ArrayBuffer(byteString.length),
            ia = new Uint8Array(ab),
            i;

        for (i = 0; i < byteString.length; i++) {
            ia[i] = byteString.charCodeAt(i);
        }

        return new Blob([ab], {type: mimeString});
    },

    saveBlob = function(blob, filename, callback, errback) {
        var onWriteEnd = function() {
            // Return the name of the file that now contains the blob.
            callback('filesystem:chrome-extension://' + chrome.runtime.id + '/temporary/' + filename);
        };

        window.webkitRequestFileSystem(TEMPORARY, 1024*1024, function(fs){
            fs.root.getFile(filename, {create:true}, function(fileEntry) {
                fileEntry.createWriter(function(fileWriter) {
                    fileWriter.onwriteend = onWriteEnd;
                    fileWriter.write(blob);
                }, errback);
            }, errback);
        }, errback);
    },

Looking at saveBlob(blob, filename, callback, errback) above. How long would a file created this way exist? Does it disappear when the browser is closed?

Upvotes: 1

Views: 876

Answers (1)

guest271314
guest271314

Reputation: 1

The file would exist until directly deleted by user or Clear browsing data is used at settings; though there is no guarantee of persistence.

4.4.1.2 Constants

TEMPORARY of type unsigned short Used for storage with no guarantee of persistence.

See also Temporary storage

Upvotes: 2

Related Questions