如何获取文件名和文件内容
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);
});
}
// ...
我有以下 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);
});
}
// ...