有没有办法将pdf文件从服务器保存到Chrome打包应用程序?
在我的Chrome打包应用中,我有类似的东西,
下载
当用户点击此超链接时,我应该将该pdf文件下载到我的Chrome打包应用文件系统中。
答案 0 :(得分:2)
下载PDF文件没什么特别之处。使用XMLHttpRequest
下载文件,然后使用文件API将其写入沙盒文件,或者使用FileEntry
chrome.fileSystem.chooseEntry
来获取FileReader.readAsDataURL
的外部文件。
下载后,您可以在网页浏览中显示PDF,或者如果您首先将其转换为file://
的数据网址,则可以在外部浏览器中打开该链接。 (您无法将下载的文件引用为// Save a blob in a FileEntry
// (e.g., from a call to chrome.fileSystem.chooseEntry)
function saveToEntry(blob, fileEntry) {
fileEntry.createWriter(
function(writer) {
writer.onerror = errorHandler; // you supply this
writer.truncate(0);
writer.onwriteend = function () {
writer.write(blob);
writer.onwriteend = function () {
// blob has been written
};
};
},
errorHandler // you supply this
);
}
网址。)
(Chrome应用不应被称为“打包”应用,因为后一术语指的是现已过时的传统应用技术。)
更新:将下载的blob保存到文件中:
{{1}}