webwork中jsp上传图片问题!!

qianzongli 2007-08-10 09:50:58
我用的webwork框架。 我在作一个jsp页面,中页面中有写信息和上传图片。然后实现提交到数据库中。请问这个图片上传的功能怎么实现啊?
...全文
230 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yu__yfchun125 2007-08-10
  • 打赏
  • 举报
回复
<%@ page import="org.apache.commons.fileupload.*"%>
<!--文件上传的包在的资源里-->

<FORM action="../QU_BJDWH/SendEmail.jsp" enctype="multipart/form-data" method="post" name="form1" id="form1" onSubmit="return checkonsubmit()" >
<input type="hidden" id="state" name="state" value="yy">
<div>
<table border="0" cellpadding="3" cellspacing="0" align="center">

<tr>

<td >
<nmttag:label id="BAS_BJDYJ.lbl_operation_center" value="QU_BJDSDEM.ReceiveEmail" />
</td>
<td >
<nmttag:text id="QU_BJDSDEM.ReceiveEmail" width="<%=new Integer(410)%>" value="<%= resieve%>" /> *
</td>
</tr>

<tr>
<td>
<nmttag:label id="BAS_BJDYJ.lbl_operation_center" value="QU_BJDSDEM.CCEmail" />
</td>
<td>
<nmttag:text id="QU_BJDSDEM.SendEmailMan" width="<%=new Integer(410)%>" value="<%= sende%>" /> 
</td>
</tr>

<tr>
<td>
<nmttag:label id="BAS_BJDYJ.lbl_email_title" value="BAS_BJDYJ.lbl_email_title" />
</td>
<td>
<nmttag:text id="BAS_BJDYJ.txtEmail_title" value="<%=titles %>" width="<%=new Integer(410)%>" fieldLength="<%=new Integer(100)%>"/> 
</td>
</tr>

</table>
<div align="center">

</div>
<table border="0" cellpadding="3" cellspacing="0" align="center">
<tr>
<td>
<nmttag:label id="BAS_BJDYJ.lbl_email_content" value="BAS_BJDYJ.lbl_email_content" />
</td>
<td >
 <nmttag:textarea id="BAS_BJDYJ.txtEmail_content" value="<%= content%>" cols="<%= new Long(65)%>" rows="<%= new Long(8)%>" fieldLength="<%=new Integer(400)%>"/> 
</td>
</tr>
<tr>
<td>
<nmttag:label id="BAS_BJDYJ.lbl_email_title" value="QU_BJDSDEM.Annex" />
</td>
<td>

<nmttag:label id="BAS_BJDYJ.lbl_email_title" value="<%= resultshowreportname.toString()%>" />

</td>
</tr>

<tr>
<td>

</td>
<td>
<script type="text/javascript">Attachment(10);</script>
</td>
</tr>
</table>
</div>
<div align="center">
<input type="submit" name="Submit" value="<%=MLUtils.getResourceString("QU_BJDSDEM.lblSend")%> ">
</div>

</FORM>

在jsp中注意form的属性[enctype="multipart/form-data"]


request.getSession().removeAttribute("state");
String uploadPath =sm.getEmailConfig("uploadPath");
File testdir = new File(uploadPath); //为了保证目录存在,如果没有则新建该目录
if (!testdir.exists()) {
testdir.mkdirs();
}
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(50194304);
// 设置缓冲区大小,这里是50kb
fu.setSizeThreshold(14096);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
FileItem file_item;
for(int i=0;i<fileItems.size();i++)
{
file_item=(FileItem)fileItems.get(i);


}



Iterator i = fileItems.iterator();
// 依次处理每一个文件:
String EmailTitle=null;
String Emailcctem=null;

List ToEmaillist=new ArrayList();
List ToCCEmail=new ArrayList();

List Urllist =new ArrayList();
while (i.hasNext()) {

FileItem fi = (FileItem) i.next();
// 检查当前的项目是普通的表单元素,还是一个上载的文件
if (fi.isFormField()) {
// 获得表单域的名字

if (fi.getFieldName().equals("QU_BJDSDEM.ReceiveEmail"))
{

String ToEmail =fi.getString();
String[] tt = st.split(ToEmail,";");
for(int j=0;j<tt.length;j++)
{
ToEmaillist.add(tt[j]);
}


// System.out.println("ToEmail is ["+ToEmail+"]");
}
if (fi.getFieldName().equals("QU_BJDSDEM.SendEmailMan"))
{
String CCEmail =fi.getString();
if(CCEmail!=null && !"".equals(CCEmail))
{
String[] cc = st.split(CCEmail,";");
for(int h=0;h<cc.length;h++)
{
ToCCEmail.add(cc[h]);
}

}else
{
ToCCEmail.add("");
}

}
if (fi.getFieldName().equals("BAS_BJDYJ.txtEmail_title"))
{
EmailTitle =fi.getString("UTF-8");
//String vl= ch.getstring(EmailTitle);
// System.out.println("EmailTitle is ["+vl+"]");
}
if (fi.getFieldName().equals("BAS_BJDYJ.txtEmail_content"))
{
Emailcctem =fi.getString("UTF-8");
// System.out.println("Emailcctem is ["+Emailcctem+"]");
}


String fieldName = fi.getFieldName();
}
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
if (!(fileName == null)) {
// 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:

String uploadFileName = fileName.substring(fileName.trim().lastIndexOf("\\") + 1);



//File GetSizeFile= new File(uploadPath+uploadFileName);
//System.out.println(uploadPath+uploadFileName);
Urllist.add(uploadPath+uploadFileName);

/*FileSize =FileSize+GetSizeFile.length(); */
fi.write(new File(uploadPath + uploadFileName));
pathlist.add(uploadPath+uploadFileName);

}
}
if(Urllist.size()>0)
{
for(int h=0;h<Urllist.size();h++)
{
File GetSizeFile= new File(Urllist.get(h).toString());
//System.out.println(uploadPath+uploadFileName);
FileSize =FileSize+GetSizeFile.length();
}
}


实现上传的sourse

希望能对你有所帮助


qianzongli 2007-08-10
  • 打赏
  • 举报
回复
快来帮帮忙啊!急啊!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧