Javascript 在没有Ajax的情况下单击submit时,如何将blob存储在表单中并发送到服务器?

Javascript 在没有Ajax的情况下单击submit时,如何将blob存储在表单中并发送到服务器?,javascript,jquery,Javascript,Jquery,这是我的职责: FileCropped.prototype.change = function () { var obj = $(this).data("plugin.file-cropped"); var files = obj.$element[0].files; var file; var URL = window.URL || window.webkitURL; var blobURL; if (files && fi

这是我的职责:

FileCropped.prototype.change = function () {
    var obj = $(this).data("plugin.file-cropped");

    var files = obj.$element[0].files;
    var file;

    var URL = window.URL || window.webkitURL;
    var blobURL;

    if (files && files.length) {
        file = files[0];
        console.log("I have files");

        if (/^image\/\w+$/.test(file.type)) {
            blobURL = URL.createObjectURL(file);
            obj.$element.val('');
            obj.$hidden[0].value = blobURL;
            //URL.revokeObjectURL(blobURL);
        } else {
            window.alert('Please choose an image file.');
        }
    } else
    {
        console.log("No files?");
    }
}
我正在尝试将blob附加到现有表单输入,但它不起作用。使用chrome调试器,我看到该方法工作正常,并遵循预期的路径,但在提交时,服务器什么也得不到

有什么提示吗


编辑:当然,该函数现在没有值。我可以使用普通的文件输入。目标是能够在将blob附加到表单之前对其进行操作。

您可以使用FileReader将文件作为数据URL读取

var fileReader = new FileReader();
fileReader.addEventListener('load', function () {
    blobURL = fileReader.result;
    obj.$hidden[0].value = blobURL;
});
fileReader.readAsDataURL(file);