日期:2014-05-16  浏览次数:20460 次

jsp中使用第三方组件实现文件上传

第一步下载,commons-fileupload-1.2.2.jarcommons-io-2.4.jar,下载链接如下:

http://download.csdn.net/detail/hncsy403/4534879

http://download.csdn.net/detail/hncsy403/4535009

String fileName = item.getName();//获取文件名字
				if (fileName != null && !fileName.equals("")) {//对文件名字进行非空判断
					File fullFile = new File(item.getName());//创建文件对象
					File saveFile = new File(uploadFilePath, fullFile.getName());//磁盘保存
					item.write(saveFile);//保存文件
					uploadFileName = fullFile.getName();//获取文件名字
					news.setPicPath(uploadFileName);//对象保存图片的名字


建议在API中参考使用到的类和接口,api在相应解压出来的index.html文件中

jar导入项目中(WEB-INF/lib)

准备添加新闻的页面newsDetailCreate.jsp,把表单提交到doAdd.jsp


注意:

1. 表单form标签中,method="post"  enctype="multipart/form-data"

2. 上传图片的标签为:<input type="file" name="picPath" value=""/>

在doAdd.jsp中提取表单提交的新闻相关字段,并保存上传的文件,实现新闻的保存功能

注意:

1.需要在doAdd.jsp中导入需要的包

<%@page import="java.io.*,java.util.*,org.apache.commons.fileupload.*"%>

<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>

<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>

2.newsDetailList.jsp中点击“增加”打开newsDetailCreate.jsp页面;“新闻标题”链接到newsDetailView.jsp并传递新闻Id参数,用以查看指定Id的新闻详情。

3.修改DaoService相关的类,完善“增加新闻信息”方法public boolean add(News news),增加“picPath”字段。增加“通过新闻id获取新闻”的方法public News getNewsById(int id)