【发布时间】:2011-09-04 10:52:35
【问题描述】:
我对 BlobBuilder (Chrome11) 有疑问 我尝试使用 XHR 请求从服务器获取图像。然后我尝试使用 BlobBuilder / FileWriter 将其保存到本地 FS。互联网上的每个示例都是关于使用 text/plain mime 类型的,这些示例运行良好。但是当我尝试写入使用 XHR 获得的二进制数据时,文件大小会比原始文件大小大 1.5-2 倍。并且无法在 Picasa / Eye Of Gnome 中查看。
var xhr = new XMLHttpRequest();
var photoOrigUrl = 'http://www.google.ru/images/nav_logo72.png';
xhr.open('GET', photoOrigUrl, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var contentType = xhr.getResponseHeader('Content-type');
fsLink.root.getFile('nav_logo72.png', {'create': true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var BlobBuilderObj = new (window.BlobBuilder || window.WebKitBlobBuilder)();
BlobBuilderObj.append(xhr.responseText);
fileWriter.write(BlobBuilderObj.getBlob(contentType));
}, function(resultError) {
console.log('writing file to file system failed ( code ' + resultError.code + ')');
});
});
}
}
xhr.send();
fsLink 存在,这是扩展。
【问题讨论】:
-
感谢您的提问,答案对我的项目帮助很大!
标签: javascript html google-chrome-extension blob