|
|
|
@ -197,17 +197,27 @@ define([
|
|
|
|
|
};
|
|
|
|
|
Thumb.fromBlob = function (blob, _cb) {
|
|
|
|
|
var cb = Util.once(_cb);
|
|
|
|
|
if (blob.type.indexOf('video/') !== -1) {
|
|
|
|
|
return void Thumb.fromVideoBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
if (blob.type.indexOf('application/pdf') !== -1) {
|
|
|
|
|
return void Thumb.fromPdfBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
if (Util.isPlainTextFile(blob.type, blob.name)) {
|
|
|
|
|
return void Thumb.fromPlainTextBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
if (blob.type.indexOf('image/') !== -1) {
|
|
|
|
|
return void Thumb.fromImageBlob(blob, cb);
|
|
|
|
|
// The blob is already in memory, it should be super-fast to make a thumbnail
|
|
|
|
|
// ==> 1s timeout
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
console.error("Thumbnail timeout");
|
|
|
|
|
cb('TIMEOUT');
|
|
|
|
|
}, 1000);
|
|
|
|
|
try {
|
|
|
|
|
if (blob.type.indexOf('video/') !== -1) {
|
|
|
|
|
return void Thumb.fromVideoBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
if (blob.type.indexOf('application/pdf') !== -1) {
|
|
|
|
|
return void Thumb.fromPdfBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
if (Util.isPlainTextFile(blob.type, blob.name)) {
|
|
|
|
|
return void Thumb.fromPlainTextBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
if (blob.type.indexOf('image/') !== -1) {
|
|
|
|
|
return void Thumb.fromImageBlob(blob, cb);
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {
|
|
|
|
|
return void cb('THUMBNAIL_ERROR');
|
|
|
|
|
}
|
|
|
|
|
return void cb('NO_THUMBNAIL');
|
|
|
|
|
};
|
|
|
|
|