在jQuery中上传文件并将文件数据从JS注入Bean类

在jQuery中上传文件并将文件数据从JS注入Bean类,jquery,html,jsf,Jquery,Html,Jsf,我正在尝试使用jQuery和Bean上传文件。 我可以上传一个文件,但不能在Bean类中获取它 请帮我解决这个问题。请参考我的密码 JavaScript代码 var handleFileSelect = function(evt) { var files = evt.target.files; var file = files[0]; if (files && file) { var reader

我正在尝试使用jQuery和Bean上传文件。 我可以上传一个文件,但不能在Bean类中获取它

请帮我解决这个问题。请参考我的密码

JavaScript代码

    var handleFileSelect = function(evt) {
        var files = evt.target.files;
        var file = files[0];

        if (files && file) {
            var reader = new FileReader();

            reader.onload = function(readerEvt) {
                var binaryString = readerEvt.target.result; 
                var imgsrc = btoa(binaryString);
                $("input:text").val(imgsrc);
            };

            reader.readAsBinaryString(file);
        }
    };

    if (window.File && window.FileReader && window.FileList && window.Blob) {
        document.getElementById('filePicker').addEventListener('change', handleFileSelect, false);
    } else {
        alert('The File APIs are not fully supported in this browser.');
    }
HTML


既然你可以直接使用
,为什么还要费尽周折呢?如果您想以“普通”的方式来做,请使用servlet,而不是支持bean。否则,您必须手动编写大量代码,这些代码基本上执行与那些JSF组件已经为您自动生成的任务相同的任务。你明白JSF存在的原因吗?我试过了,但在选择文件时出现了一些问题,除了提到的AllowedTypes之外,没有显示错误选择的错误消息。为什么你可以使用
进行艰难的尝试?如果您想以“普通”的方式来做,请使用servlet,而不是支持bean。否则,您必须手动编写大量代码,这些代码基本上执行与那些JSF组件已经为您自动生成的任务相同的任务。你明白JSF存在的原因吗?我试过了,但在选择文件时出现了一些问题,除了前面提到的AllowedType之外,没有显示错误选择的错误消息
 <div>
    <input type="file" onchange="uploadFile()" />
    <p:inputText id="newT" value="#{testBean.fileDemo}"  ></p:inputText>
    <h:commandButton value="click" action="#{testBean.submit}" ></h:commandButton>
</div>
    @Service
    @Scope("session")
    class TestBean {

        String a;
        Byte[] fileArray

        public void submit(){
            println "Bye arraya is  "+fileArray;
        }
    }