如何获取文件名和文件内容

How to get the filename along with filecontent

我有以下 3 个 javascript 例程:

function readFile(file, onLoadCallback) {
    var reader = new FileReader();
    reader.onload = onLoadCallback;
    reader.readAsDataURL(file);
}
function processfile(filename, filecontent) {
    //finish working here
    PageMethods.setFile(filename, filecontent);
}
$('#div').on(
    'drop',
    function (e) {
        if (e.originalEvent.dataTransfer) {
            if (e.originalEvent.dataTransfer.files.length) {
                e.preventDefault();
                e.stopPropagation();
                for (var i = 0; i < e.originalEvent.dataTransfer.files.length; i++) {
                    readFile(e.originalEvent.dataTransfer.files[i], function (e2) {
                        processfile('', e2.target.result); // how to set the actual filename as the first parameter?
                    });
                }
            }
        }
    }

首先,我调用了一个 drop 函数,该函数循环遍历放置的文件并在回调例程中获取内容。最后将 processfile 发送到 c# - 但我无法将文件名发送到函数 processfile。

所以我问如何从回调中将文件名发送到该例程?一切似乎都工作正常 - 除了文件名:-(

此致,

迈克尔

它在文件本身中:

function readFile(file, onLoadCallback) {
  var reader = new FileReader();
  
  reader.onload = function () {
    onLoadCallback(file.name, reader.result);
  };
  reader.readAsDataURL(file);
}
// ...
for (var i = 0; i < e.originalEvent.dataTransfer.files.length; i++) {
  var file = e.originalEvent.dataTransfer.files[i];
  
  readFile(file, function (filename, content) {
    processfile(filename, content);
  });
}
// ...