Ext.getCmp('<%=TabID%>_form').getForm().submit({
url: 'UploadServlet', //后台处理页面(可以是php,asp,aspx,jsp等等)
waitMsg: '正在上传...',
failure:function(form1,action){
Ext.MessageBox.hide();
Ext.MessageBox.alert('Error',action.result.msg);
success: function(form1,action){
Ext.MessageBox.hide();
Ext.MessageBox.alert('Success',action.result.msg);
}
});
Servlet
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
// arg1.setContentType("text/html; charset=ISO-8859-4");
ModelAndView aaa=null;
String data="{success:flase,msg:'上传失败'}";
try{
DiskFileItemFactory factory=new DiskFileItemFactory();
factory.setSizeThreshold(1024*1024*20);
factory.setRepository(new File(request.getRealPath("/")+""));
System.out.println(factory.getRepository());
//根据上传工厂获取servletfileupload对象
ServletFileUpload upload=new ServletFileUpload(factory);
//设置上传文件的大小
upload.setSizeMax(1024*1024*20);
List items=null;
try {
items=upload.parseRequest(request);
System.out.println(items.size());
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
for(Iterator it=items.iterator();it.hasNext();){
FileItem item=(FileItem)it.next();
if(item.isFormField()){
String name=item.getFieldName();
System.out.println(name);
String value=item.getString("gbk");
}else{
String fieldName=item.getFieldName();
String fileName=item.getName();
System.out.println(fileName);
String contentType=item.getContentType();
System.out.println(contentType);
FileOutputStream fos=new FileOutputStream(request.getRealPath("/")+"()));
if(item.isInMemory()){
fos.write(item.get());
}else{
InputStream is=item.getInputStream();
byte[] buffer=new byte[1024];
int len;
while((len=is.read(buffer))>0){
fos.write(buffer, 0, len);
is.close();
fos.close();
}
data="{success:true,msg:'上传成功'}";
} catch (Exception e) {
data="{success:flase,msg:'上传失败'}";
// aaa=new ModelAndView(this.getFormView());
} finally{
response.getWriter().write(data);
response.getWriter().flush();
//return aaa;
}