如何在javascript中加载文件列表?

如何在javascript中加载文件列表?,javascript,file-io,xul,Javascript,File Io,Xul,如何从javascript中的指定文件夹加载文件列表 更新 实际上是来自一个Xul应用程序,但我认为本地html文件的任何东西都可以。。(这是一个独立的应用程序)。我说的是资源文件(图像)..如果你在浏览器中谈论JS并访问客户端机器上的文件,你不能。出于安全原因,Javascript无法访问文件系统。这在Firefox插件中是可能的,并且已经存在多年了。请参阅MDC上的以下页面:如果该文件夹是用户选择的,则可以使用HTML5文件[]API来读取文件: <input type="file"

如何从javascript中的指定文件夹加载文件列表

更新


实际上是来自一个Xul应用程序,但我认为本地html文件的任何东西都可以。。(这是一个独立的应用程序)。我说的是资源文件(图像)..

如果你在浏览器中谈论JS并访问客户端机器上的文件,你不能。出于安全原因,Javascript无法访问文件系统。

这在Firefox插件中是可能的,并且已经存在多年了。请参阅MDC上的以下页面:

如果该文件夹是用户选择的,则可以使用HTML5文件[]API来读取文件:

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

document.querySelector('#files').onchange = function(e) {
  var files = e.target.files; // FileList

  var output = [];
  for (var i = 0, f; f = files[i]; ++i) {
    output.push('<li><b>', f.name, '</b> (',
                f.type || 'n/a', ') - ', f.size, ' bytes</li>');
    // TODO: Use FileReader to actually read file.
  }
  document.querySelector('#list').innerHTML = '<ul>' + output.join('') + '</ul>';
};

document.querySelector(“#files”).onchange=function(e){
var files=e.target.files;//文件列表
var输出=[];
对于(变量i=0,f;f=files[i];++i){
output.push(“
  • ”,f.name,“(”, f、 键入| |‘n/a’,‘)-’,f.size,‘bytes
  • ’; //TODO:使用FileReader实际读取文件。 } document.querySelector('#list').innerHTML='
      '+output.join('')+'
    '; };
    没有足够的详细信息-在浏览器中?在windows脚本主机中?如果在浏览器中,它是否已沙盒化?火狐XUL?等等。这不是一个明确的问题。另请参阅:@Daniel_Vandersluis谢谢,请参阅我的updateJavaScript无法访问文件和数据所在的本地资源。您可以给JavaScript一个64位的字符串来表示图像,JS可以使用它。。。但是如果您希望javaScript访问本地磁盘,最好希望您的用户仍然使用IE5或IE6。@Ryan_Ternier我希望javaScript访问与运行的js文件位于同一文件夹中的资源映像。我有一个与js一起使用的“images/”文件夹,我想加载这个文件夹的图像文件列表。