我正在尝试将以下函数转换为从表单选择选项而不是文件输入中读取文件;不熟悉javascript。已经做出了对我来说显而易见的变化,但无济于事。
读取服务器端文件与本地文件可能存在问题吗?
function readTextFile(file, callback, encoding) {
var reader = new FileReader();
reader.addEventListener('load', function (e) {
callback(this.result);
});
if (encoding) reader.readAsText(file, encoding);
else reader.readAsText(file);
}
function fileChosen(input, output) {
if (input.files && input.files[0]) {
readTextFile(
input.files[0],
function (str) {
output.value = str;
}
);
}
}
$('#files').on('change', function () {
fileChosen(this, document.getElementById('recipients'));
});
我感谢有人可以提供任何帮助......
答案 0 :(得分:0)
从服务器读取当然不同于在本地读取文件。对于前者,您可能需要通过AJAX进行API调用以获取所需文件,而对于本地阅读,您将需要使用类似您提供的FileReader。
但是,您使用什么样的表单选项来表示HTML中的文件?也许你打算做什么,或者你可以做什么,是在表单POST之后处理服务器端代码中的文件读取?