在使用JavaScript使用FileReader上传之前,请更改文件的内容

时间:2019-01-11 13:40:20

标签: javascript file-upload upload filereader

在用javascript上传之前,是否可以更改文件的内容?我可以阅读内容,但似乎无法更改。

    f = document.getElementById('input').files[0];
    var reader = new FileReader();
    reader.onload = function(e){
        console.log(e.target)
        e.target.result = "new content"
        console.log(e.target);
    };
    reader.readAsDataURL(f);

1 个答案:

答案 0 :(得分:0)

您不能重写文件输入的值。

您可以获取文件的内容并通过Ajax发送。

reader.onload = function(e){
    const data = new FormData();
    const url = this.result;
    const blob = convertUrlToBlob(url);
    data.append("file_input", blob, "filename.ext");
    const xhr = new XMLHttpRequest();
    xhr.open('POST', '/example/url');
    xhr.send(data);
};

我不会详细介绍如何编写convertUrlToBlob函数,this question涵盖了该函数。