Javascript中的文件操作

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[

我想用javascript读取一个大文件,一个字节一个字节地读取它,然后将其他每个字节分成一个或另一个文件,但我甚至无法从.txt文件中打印出一个字节

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;
而(我