EXTJS FILE UploadDialog用JAVA实现例子

本例中用到了,commons-fileupload.jar

 

 

index.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">   
    <title>文件上传</title>
 <link rel="stylesheet" type="text/css" href="UploadDialog/css/Ext.ux.UploadDialog.css" />
    <link rel="stylesheet" type="text/css" href="scripts/ext/resources/css/ext-all.css" />
 <script type="text/javascript" src="scripts/ext/adapter/ext/ext-base.js"></script>
 <script type="text/javascript" src="scripts/ext/ext-all.js"></script>
 <script type="text/javascript" src="user/upload.js"></script>
 <script type="text/javascript" src="UploadDialog/Ext.ux.UploadDialog.js"></script>
 <script type="text/javascript" src="UploadDialog/Ext.ux.UploadDialog.packed.js"></script>
   <script type="text/javascript" src="UploadDialog/locale/zh_CN.js"></script>
  </head>
 
 
  <body>
  <div id="my-dlg"></div>
  </body>
</html>

 

upload.js

 

Ext.onReady(function() {   
var dialog = new Ext.ux.UploadDialog.Dialog(   
{ url: 'upload',
  reset_on_hide: false,
  allow_close_on_upload: true,
  upload_autostart: false
});   
dialog.show('my-dlg');
}); 

 

Upload .java

 

package com.vol.upload;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
/**
 *
 * @author 王宗好
 *
 */
public class Upload extends HttpServlet {
 /** 
  *  
  */
 private static final long serialVersionUID = 7440302204266787092L;


 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws IOException, ServletException {
  String savePath = "d:/";//保存路径

  String uploadPath = "d:/"; //上传路径

  try {
   System.out.println("开始进行文件上传");
   DiskFileUpload fu = new DiskFileUpload();
   fu.setSizeMax(4194304); // ��������ļ��ߴ最大������4MB  
   fu.setSizeThreshold(4096); // ���û������С��缓存4kb  
   fu.setRepositoryPath(uploadPath); // ������ʱĿ¼  
   List fileItems = fu.parseRequest(request);
   Iterator i = fileItems.iterator();
   while (i.hasNext()) {
    FileItem fi = (FileItem) i.next();
    String fileName = fi.getName();// ����ļ�������ļ����
    if (fileName != null) {
     fi.write(new File(savePath + fileName));
    }
   }
   response.setContentType("text/html;charset=GBK");
   System.out.println("上传成功");
   response.getWriter().print(
     "{'success':true,'message':'上传成功'}");
  } catch (Exception e) {
   System.out.println("上传失败");
   response.getWriter().print(
     "{'success':false,'message':'上传失败'}");
  }

 }
}

 

在我的资源里有源代码.还有个struts+EXTJS UploadDialog的实现源代码


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Configuration. Most configuration options are inherited from Ext.Window (see ExtJs docs). The added ones are: url - the url where to post uploaded files. base_params - additional post params (default to {}). permitted_extensions - array of file extensions which are permitted to upload (default to []). reset_on_hide - whether to reset upload queue on dialog hide or not (default true). allow_close_on_upload - whether to allow hide/close dialog during upload process (default false). upload_autostart - whether to start upload automaticaly when file added or not (default false). post_var_name - uploaded data POST variable name (defaults to 'file'). Events. filetest - fires before file is added into the queue, parameters: dialog - reference to dialog filename - file name If handler returns false then file will not be queued. fileadd - fires when file is added into the queue, parameters: dialog - reference to dialog filename - file name fileremove - fires when file is removed from the queue, parameters: dialog - reference to dialog filename - file name record - file record resetqueue - fires when upload queue is resetted, parameters: dialog - reference to dialog beforefileuploadstart - fires when file as about to start uploading: dialog - reference to dialog filename - uploaded file name record - file record If handler returns false then file upload will be canceled. fileuploadstart - fires when file has started uploading: dialog - reference to dialog filename - uploaded file name record - file record uploadsuccess - fires when file is successfuly uploaded, parameters: dialog - reference to dialog filename - uploaded file name data - js-object builded from json-data returned from upload handler response. record - file record uploaderror - fires when file upload error occured, parameters: dialog - reference to dialog filename - uploaded file name data - js-object builded from json-data returned from upload handler response. record - file record uploadfailed - fires when file upload failed, parameters: dialog - reference to dialog filename - failed file name record - file record uploadcanceled - fires when file upload canceled, parameters: dialog - reference to dialog filename - failed file name record - file record uploadstart - fires when upload process starts, parameters: dialog - reference to dialog uploadstop - fires when upload process stops, parameters: dialog - reference to dialog uploadcomplete - fires when upload process complete (no files to upload left), parameters: dialog - reference to dialog Public methods Better go see the source. I18n. The class is ready for i18n, override the Ext.ux.UploadDialog.Dialog.prototype.i18n object with your language strings, or just pass i18n object in config. Server side handler. The files in the queue are posted one at a time, the file field name is 'file'. The handler should return json encoded object with following properties:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值