Java学习

java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已经搬家了,新的地址是 http://www.javaly.cn 如果有对文章有任何疑问或者有任何不懂的地方,欢迎到www.javaly.cn (Java乐园)指出,我会尽力帮助解决。一起进步

 

用JSF和MyFaces上传文件(2)——使用jsf中的inputFileUpload组件实现文件上传下载

<t:inputFileUpload id="fileupload" accept="WebContent/images/*"
value="#{uploadCourse.learningpic}" storage="file"
styleClass="fileUploadInput" required="true" />

<h:panelGrid>
<h:commandButton id="uploadButton" value="开始上传"
action="#{uploadCourse.upCourse}" type="submit" />
</h:panelGrid>

private UploadedFile learningpic;

set() & get()

public String upCourse() throws IllegalAccessException,
InvocationTargetException, NoSuchMethodException ,IOException {
Long a = new Long("1000000000000000");
Double b = (a * Math.random());
try {
InputStream in = new BufferedInputStream(learningpic.getInputStream());
try {
byte[] buffer = new byte[64 * 1024];
FileOutputStream fileOutputStream = new FileOutputStream("C:\\"+ b.toString() + ".jpg");
while (in.read(buffer) > 0) {
fileOutputStream.write(buffer);
}
} finally {
in.close();
}
System.out.println("End");
} catch (Exception e) {
System.out.println("IOException");
FacesMessage message = new FacesMessage(
FacesMessage.SEVERITY_FATAL, e.getClass().getName(), e
.getMessage());
FacesContext.getCurrentInstance().addMessage(null, message);
return "false";
}


UploadCourse uploadCourse = new UploadCourse();
uploadCourse.setStatus("2");
PropertyUtils.copyProperties(uploadCourse, this);

if (uploadCourseService.upCourse(uploadCourse) == true) {
return "success";
} else {
return "false";
}

}

注意一定要在web.xml里加上filter,否则form将不能提交。
  <filter>
    <description>Set the size limit for uploaded files.
            Format: 10 - 10 bytes
            10k - 10 KB
            10m - 10 MB
            1g - 1 GB </description>
    <filter-name>extensionsFilter </filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter </filter-class>
    <init-param>
      <param-name>uploadMaxFileSize </param-name>
      <param-value>10m </param-value>
    </init-param>
    <init-param>
      <description>Set the threshold size - files
                below this limit are stored in memory, files above
                this limit are stored on disk.

                Format: 10 - 10 bytes
                10k - 10 KB
                10m - 10 MB
                1g - 1 GB </description>
      <param-name>uploadThresholdSize </param-name>
      <param-value>100k </param-value>
    </init-param>
  </filter>
  <filter-mapping>
  <filter-name>extensionsFilter </filter-name>
  <servlet-name>Faces Servlet </servlet-name>
  </filter-mapping>


posted on 2008-10-28 16:02 找个美女做老婆 阅读(1765) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

本blog已经搬到新家了, 新家:www.javaly.cn
 http://www.javaly.cn

常用链接

留言簿(6)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜