我使用primeface上传文件,关于这样的表格的代码
<h:form enctype="multipart/form-data">
....
<pf:inputTextare value="#{bean.text}"/>
<pf:fileupload value="#{bean.file}" mode="sample"/>
<pf:commandButton actionLister="#{bean.save}"/>
....
</h:form>
bean代码很简单,就像这样
public class bean{
private String text;
private UploadedFile file;
//getter and setter methods...
public void save(){
//save file and text in DB
}
}
在我使用enctype =“multipart / form-data”时的形式我可以成功上传文件。但是文字是非法字符。但是当我不在表单中使用“multipart / form-data”时,文本字符是正确的,但文件无法上传。 我搜索了“multipart / form-data”,上传文件“multipart / form-data”是表格的必要条件(也许是不正确的:)),但我怎样才能解决非法角色?(或者你能说出来吗?)我没有“multipart / form-data”上传文件的另一种方法吗?)
答案 0 :(得分:0)
我已经解决了这个问题,在管理bean中你需要从表单中获取转码。就像这样。
String youGetFromPage=new String(youGetFromPage.getBytes("ISO-8859-1"),"UTF-8");