我有这个功能来下载文件:
function downloadFile(httpLoc)
{
try {
// new obj_URI object
var obj_URI = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(httpLoc, null, null);
// new file object
var obj_TargetFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
obj_TargetFile.initWithPath("d:\\te.zip");
if(!obj_TargetFile.exists()) {
obj_TargetFile.create(0x00,0644);
}
var obj_Persist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
obj_Persist.progressListener = {
onProgressChange : function(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress){
var percentComplete = (aCurTotalProgress/aMaxTotalProgress)*100;
var ele = document.getElementById("progress element");
ele.innerHTML = percentComplete + "%";
},
onStateChange: function(aWebProgress, aRequest, aStateFlags, aStatus) {
}
}
// with persist flags
const nsIWBP = Components.interfaces.nsIWebBrowserPersist;
const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
obj_Persist.persistFlags = flags | nsIWBP.PERSIST_FLAGS_FROM_CACHE;
//save file to target
obj_Persist.saveURI(obj_URI, null, null, null, "", obj_TargetFile);
}
catch (e)
{
alert(e);
}
}
文件正在下载,但我没有在Firefox下载窗口中看到它。如何使文件显示在下载窗口中并查看进度?