在扩展名firefox中选择文件窗口

时间:2013-07-31 16:54:26

标签: javascript firefox firefox-addon add-on

我建立了一个扩展,我想从像Windows一样的窗口弹出窗口中获取文件的路径。是这样的东西在firefox的扩展中使用吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

您应该查看this page on MDN

创建文件选择器

首先,您需要创建一个文件选择器组件并对其进行初始化。

var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, "Select a File", nsIFilePicker.modeOpen);
  

首先,创建一个新的文件选取器对象并将其存储在变量中   'FP'。 'init'函数用于初始化文件选择器。这个   函数有三个参数,即打开对话框的窗口,   对话框的标题和模式。这里的模式是modeOpen   用于打开对话框。你也可以使用modeGetFolder和   modeSave用于其他两种模式。这些模式是常量   nsIFilePicker接口。

获取所选文件

  

最后,您可以通过调用show()函数来显示对话框。它   不接受任何参数,但返回一个状态代码,指示什么   用户选择。请注意,该功能直到用户才会返回   选择了一个文件。该函数返回三个常量之一:

     

returnOK - 用户选择了一个文件并按了OK。用户的文件   selected将存储在文件选择器的文件属性中。

     

returnCancel - 用户按下取消。

     

returnReplace - 在保存中   模式,此返回值标识用户选择的文件   更换。 (当用户输入名称时,将返回returnOK   一个新文件。)你应该检查返回值,然后获取文件   文件选择器中的对象使用文件属性。

var res = fp.show();
if (res != nsIFilePicker.returnCancel){
  var thefile = fp.file;
  // --- do something with the file here ---
}