所以我尝试使用以下链接下载PDF文件: http://www.freecybers.com/components/com_flexpaper/assets/zine/php/services/simpleview.php?doc=regus.pdf
这是我的代码:
function downPdf() {
linkPdf = getPdfLink();
var webBrowserPersist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"]
.createInstance(Components.interfaces.nsIWebBrowserPersist);
var localFile = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
localFile.initWithPath("D:\\file.pdf")
var iOService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
link = iOService.newURI(linkPdf, null, null);
webBrowserPersist.saveURI(link, null, null, null, null, localFile, null);
}
PDF大小为114 KB,但下载始终以108 KB停止,因此文件已损坏。有人知道出了什么问题吗?
答案 0 :(得分:3)
解决了它。试图弄乱持久的旗帜,我补充道:
webBrowserPersist.persistFlags = webBrowserPersist.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION;
使用saveURI()之前。看起来这是一个编码问题。