Javascript中的文件操作
我想用javascript读取一个大文件,一个字节一个字节地读取它,然后将其他每个字节分成一个或另一个文件,但我甚至无法从.txt文件中打印出一个字节Javascript中的文件操作,javascript,Javascript,我想用javascript读取一个大文件,一个字节一个字节地读取它,然后将其他每个字节分成一个或另一个文件,但我甚至无法从.txt文件中打印出一个字节 var control = document.getElementById("your-files"); files = control.files; len = files.length; var test = document.getElementById("test"); test.value = "Filename: " + files[
var control = document.getElementById("your-files");
files = control.files;
len = files.length;
var test = document.getElementById("test");
test.value = "Filename: " + files[0].name;
test.value += "\n" + "Type: " + files[0].type;
test.value += "\n" + "Size: " + files[0].size + " bytes";
var blob = files[0].slice(0, 1000);
test.value += "\n" + blob;
var myReader = new FileReader();
test.value += "\n" + myReader.readAsText(blob);
test.value += "\n" + myReader.readAsBinaryString(blob);
我可以打印出文件大小、类型和名称,但如果要打印一个blob,我会将其列为一个对象blob
范例
Filename: test.txt
Type: text/plain
Size: 9604 bytes
[object Blob]
undefined
我现在需要做的就是添加文件创建,这样我就可以实际使用blob了
function SplitFile(){
var control = document.getElementById("your-files");
files = control.files;
len = files.length;
var test = document.getElementById("test");
var i = 0;
while (i < len){
test.value += i + "\n";
test.value += "Filename: " + files[i].name;
test.value += "\n" + "Type: " + files[i].type;
test.value += "\n" + "Size: " + files[i].size + " bytes";
num_files = document.getElementById("piece-up").value;
test.value += "\n" + "Number of files: " + num_files;
var file_length = files[i].size;
var slice_size = 1000;
var remainder = file_length % slice_size;
var num_large = file_length - remainder;
var num_loops = num_large / slice_size;
var slice_0 = 0;
var slice_1 = slice_size;
var q = 0;
while(q< num_loops){
var myReader = new FileReader();
myReader.readAsText(files[i].slice(slice_0, slice_1));
myReader.onload = function(event) {
var contents = event.target.result;
test.value += "\n" + contents;
};
slice_0 = slice_0 + slice_size;
slice_1 = slice_1 + slice_size;
q++;
}
var myReader = new FileReader();
slice_0 = slice_1 - slice_size;
slice_1 = slice_1 + remainder - slice_size;
myReader.readAsText(files[i].slice(slice_0, slice_1));
myReader.onload = function(event) {
var contents = event.target.result;
test.value += "\n" + contents;
};
i++;
}
}
函数拆分文件(){
var control=document.getElementById(“您的文件”);
files=control.files;
len=files.length;
var测试=document.getElementById(“测试”);
var i=0;
而(我