在jQuery中上传文件并将文件数据从JS注入Bean类
我正在尝试使用jQuery和Bean上传文件。 我可以上传一个文件,但不能在Bean类中获取它 请帮我解决这个问题。请参考我的密码 JavaScript代码在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
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;
}
}