input标签
input文件及多文件标签:
<input type="file" value="选择文件"></input>
<input type="file" multiple="multiple" value="选择多个文件"></input>
FileReader 以及 FileReaderSync . readAsText(file, encoding?)函数
FileReader是异步的文件读取器, 可以指定文本编码读取文本.
FileReaderSync在WebWorker中可用, 这个类的readAsText接口是同步的.
With jQuery
function popFileSelector() {
$(`<input type="file" value="选择文件"></input>`)
.click()
.on(\'change\', event => {
let file = event.target.files[0];
let file_reader = new FileReader();
file_reader.onload = () => {
let fc = file_reader.result;
console.log(fc); // 打印文件文本内容
};
file_reader.readAsText(file, \'UTF-8\');
});
}
原生 Without jQuery
function popFileSelector() {
let input = document.createElement(\'input\');
input.value = \'选择文件\';
input.type = \'file\';
input.onchange = event => {
let file = event.target.files[0];
let file_reader = new FileReader();
file_reader.onload = () => {
let fc = file_reader.result;
console.log(fc); // 打印文件文本内容
};
file_reader.readAsText(file, \'UTF-8\');
};
input.click();
}
原生 With Promise
function popFileSelector() {
return new Promise((resolve, reject) => {
let input = document.createElement(\'input\');
input.value = \'选择文件\';
input.type = \'file\';
input.onchange = event => {
let file = event.target.files[0];
let file_reader = new FileReader();
file_reader.onload = () => {
let fc = file_reader.result;
resolve(fc); // 返回文件文本内容到Promise
};
file_reader.readAsText(file, \'UTF-8\');
};
input.click();
});
}