我必须在 angularjs 中用文件名填充一个数组

I have to fill an array with filenames, in angularjs

我必须用文件名填充数组。它是一个本地文件夹,里面有很多文件,我需要文件名 "go inside" 数组。 文件名[0] = australia.jpg 文件名[1] = italy.jpg 等等。

有什么想法吗?

谢谢。

我试过了,但没用:

 var getFilesNames = function(){
      var folderPath = Folder ("C:\Users\Giulio\Desktop");
      var toteTempFiles = toteTempPath.getFiles();
      var namesArr = [];
      for(var i=0; i<toteTempFiles.length; i++){
        var thisFile = toteTempFiles[i];
        myNames.push(thisFile.name);
      }
    }

据我所知,不可能窥探用户的文件系统,这将是一个很大的安全问题。

但是,对于新文件 API,用户可以授予您访问某些文件的权限,从而允许您获取有关它们的信息并上传它们。但是,这确实涉及用户必须执行操作。

所以稍微改变你的要求你可以这样做:

<input type="file" id="input" multiple />

和JS

var inputElement = document.getElementById("input");
inputElement.addEventListener("change", handleFiles, false);

function handleFiles() {
    var fileList = [];

    for(var i = 0; i < this.files.length; i++) {
        fileList.push(this.files[i].name);   
    }

    console.log(fileList);
}

本质上,您有一个用户与之交互的输入。当它的值发生变化时,selected 了一些文件,onchange 处理程序将触发,为您提供有关文件 selected 的信息。

重要的是要注意 this.files 不是一个数组,而是一个类似对象的数组,就像 arguments 变量一样。所以你不能 map 或对它做 forEach

所以在您的使用中,它会稍微改变为用户必须 select 您需要的文件夹中的所有文件。然后您可以继续获取所需的所有信息。

这里是 fiddle:http://jsfiddle.net/q97dgjso/

以及一些可能对您有帮助的资源:http://www.html5rocks.com/en/tutorials/file/dndfiles/ https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications https://developer.mozilla.org/en/docs/Web/API/File