如何从Javascript FileReader获取文件名?

kra*_*r65 22 javascript io jquery filereader

我正在使用Javascript FileReader在浏览器中加载图像:

e = e.originalEvent;
e.dataTransfer.dropEffect = 'copy';
this.documentFile = e.dataTransfer.files[0];

var reader = new FileReader();
reader.onloadend = function () {
    if (reader.result) {
        console.log(reader);
        $('#theImage').attr('src', reader.result);
    }
};
reader.readAsDataURL(this.documentFile);
Run Code Online (Sandbox Code Playgroud)

这很好用.我现在想获得图像的原始文件名,但我不知道如何在互联网上查找我也找不到任何东西?

有人知道如何通过FileReader获取文件名吗?欢迎所有提示!

Phr*_*ion 33

这不是最好的解决方案,但它对我有用.

var reader = new FileReader();
reader.fileName = file.name // file came from a input file element. file = el.files[0];
reader.onload = function(readerEvt) {
    console.log(readerEvt.target.fileName);
};
Run Code Online (Sandbox Code Playgroud)

不是最好的答案,而是一个有效的答案.

  • 如果你有一个文件阵列,这种方式将无法工作,我认为最好使用http://stackoverflow.com/questions/12546775/get-filename-after-filereader-asynchronously-loaded-a-file上的接受答案 (2认同)
  • 正如我所说,不是最好的答案,而是一个有效的答案。此外,问题不是关于数组,而是关于获取文件的名称。我同意,另一页上的答案更适合阵列设置。:) (2认同)

小智 7

我刚刚遇到了同样的问题,这是我解决的方法:

使用文件阅读器

 const reader = new FileReader();
 reader.readAsDataURL(event.target.files[0]); // event is from the HTML input
 console.log(event.target.files[0].name);
Run Code Online (Sandbox Code Playgroud)