webwork中jsp上传图片问题!! 我用的webwork框架。 我在作一个jsp页面,中页面中有写信息和上传图片。然后实现提交到数据库中。请问这个图片上传的功能怎么实现啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%@ 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希望能对你有所帮助 在JAVA中的怎么在过滤器中取到每一个URL请求? 紧急!!!!紧急!!!!如何将JS页面国际化 关于JSP一个空指针的问题!!!急!!! struts2+hibernate如何实现多条件的动态查询呢? jsp小偷程序如何写,请高手指教? 老问题,对java对XML操作,help me 简单正则表达式,要求数字和-的组合 excel浏览器控件有什么好的推荐? 莫名其妙的问题 请高手帮我看看这是哪里错误! myeclipse中jsp文件如何引用css文件? 关于读取excel单元格值的问题
<!--文件上传的包在的资源里--><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希望能对你有所帮助