【发布时间】:2011-09-18 13:43:24
【问题描述】:
我开发了一个 Firefox 扩展程序,它收集一些数据并将它们保存到桌面上的文件中。
它在 Mac OS 上运行良好,但在 Windows 7 上,创建文件时会引发错误。 例外:
uncaught exception:[Exception... "Component returned failure code:0x80004005(NS_ERROR_FAILURE)[nsIFile.createUnique]" nsresult:"0x80004005 (NS_ERROR_FAILURE)" location: "JS frame::chrome://klmlogger/content/record.js :: <TOP_LEVEL> :: line 59" data: no]
代码在这里:
var file = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("Desk", Components.interfaces.nsIFile);
file.append("samplefile.txt");
file.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 0666); // Line 59
如果我删除第 59 行(它仍然适用于 Mac OS),错误变为:
Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIFileOutputStream.init]
resource://gre/modules/FileUtils.jsm Line: 86
错误发生在这里:
if (modeFlags === undefined)
modeFlags = this.MODE_WRONLY | this.MODE_CREATE | this.MODE_TRUNCATE;
fos.init(file, modeFlags, this.PERMS_FILE, 0); // Line 86
return fos;
【问题讨论】:
标签: firefox firefox-addon firefox4 file-extension