资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

关于x:inputFileUpload

inputFileUpload是myfaces里的一个组件,用来上传文件的。本人这几天一直试着使用这个组件,结果均以失败告终。上网搜查资料,结果是千篇一律,更加郁闷。

创新互联专注于企业成都营销网站建设、网站重做改版、陵川网站定制设计、自适应品牌网站建设、H5高端网站建设商城系统网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为陵川等各大城市提供网站开发制作服务。

几经尝试,终于发现为什么这组件失效。

第一点:在里需加上enctype="multipart/form-data"

第二点:需在web.xml文件中加上以下东东:


extensionsFilter
org.apache.myfaces.component.html.util.ExtensionsFilter

uploadMaxFileSize
100m



uploadThresholdSize
100k





extensionsFilter
*.faces

如果你像我一样为这个组件困扰的话,按照上面的试试,应该就可以成功了。

附上本人的测试样例,详细请进入收看。

[@more@]

jsp文件:

<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="
http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="
http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="
http://myfaces.apache.org/extensions" prefix="x"%>












backbean文件:

package zc.bb;

import org.apache.myfaces.custom.fileupload.UploadedFile;
import java.io.*;

public class InputFileBB {
private UploadedFile upfile;
private String test;
public String loadFile()
{
System.out.println( "test***********darmee" + test );
System.out.println( "name***********darmee" + upfile.getName() );
try
{
InputStream is = upfile.getInputStream();
String filename = getFileName( upfile.getName() );
FileOutputStream fos = new FileOutputStream( "D:" + filename );
int temp;
while ( (temp = is.read())!= -1 )
fos.write(temp);
is.close();
fos.close();
}
catch ( Exception e )
{

}
return null;
}
protected String getFileName(String fileAbsoluteName) {
String fileName = null;
int index = fileAbsoluteName.lastIndexOf("");
if (index > 0) {
fileName = fileAbsoluteName.substring(index + 1);
} else {
fileName = fileAbsoluteName;
}
return fileName;
}
public UploadedFile getUpfile() {
return upfile;
}
public void setUpfile(UploadedFile upfile) {
this.upfile = upfile;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}


文章题目:关于x:inputFileUpload
转载注明:http://cdkjz.cn/article/psdgji.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220