`

GWTEXT下载

    博客分类:
  • gwt
阅读更多
GWT实现文件上传下载
关键字: gwt实现文件上传 下载

主要采用的两个包gwtextux.jar(0.4版本)和commons- fileupload-1.2.1.jar来完成。

在gwt.xml里添加此内容

如你所见,相关JS(在gwtextux.jar包里)放在public/js/下面,与 xml对应


Xml代码

   1. <module> 
   2.       <entry-point class='com.google.gwt.client.test'/> 
   3.       <stylesheet src='test.css' /> 
   4.         <stylesheet src="js/resources/css/ext-all.css" /> 
   5.     <script src="js/adapter/ext/ext-base.js" /> 
   6.     <script src="js/ext-all.js" />  
   7.      <inherits name="com.gwtext.GwtExt"/> 
   8.  
   9.  
  10.  
  11.             <!-- upload              --> 
  12. <servlet path="/UploadSvc" class="com.google.gwt.service.UploadSvcImpl" /> 
  13. <inherits name="com.gwtextux.GwtExtUx"/> 
  14. <inherits name="com.gwtextux.UploadDialog"/> 
  15. <script src="js/Ext.ux.UploadDialog.js" /> 
  16.         <!-- upload              --> 
  17.  
  18. </module> 

<module>
      <entry-point class='com.google.gwt.client.test'/>
      <stylesheet src='test.css' />
<stylesheet src="js/resources/css/ext-all.css" />
<script src="js/adapter/ext/ext-base.js" />
<script src="js/ext-all.js" />
<inherits name="com.gwtext.GwtExt"/>



        <!-- upload              -->
<servlet path="/UploadSvc" class="com.google.gwt.service.UploadSvcImpl" />
<inherits name="com.gwtextux.GwtExtUx"/>
<inherits name="com.gwtextux.UploadDialog"/>
<script src="js/Ext.ux.UploadDialog.js" />
<!-- upload              -->

</module>


  客户端:
Java代码

   1.  import com.google.gwt.core.client.EntryPoint;   
   2.  import com.google.gwt.user.client.ui.RootPanel;   
   3.  import com.gwtext.client.widgets.Button;   
   4.  import com.gwtext.client.widgets.Panel;   
   5.  import com.gwtext.client.widgets.event.ButtonListenerAdapter;   
   6.  import com.gwtext.client.core.EventObject;   
   7.  import com.gwtext.client.core.UrlParam;   
   8.  import com.gwtextux.client.widgets.upload.UploadDialog;   
   9.  
  10. public class UploadDialogSample implements EntryPoint{   
  11.           
  12.      public void onModuleLoad() {   
  13.          Panel panel = new Panel();   
  14.          Button button = new Button("Upload File", new ButtonListenerAdapter() {   
  15.              public void onClick(final Button button, EventObject e) {   
  16.            UploadDialog dialog = new UploadDialog();   
  17.                         //于xml对应 
  18.            dialog.setUrl("UploadSvc");   
  19.                        //上传文件类型 
  20.            //dialog.setPermittedExtensions(new String[]{"jpg", "gif"});  
  21.                        //参数 
  22.              UrlParam param[] = new UrlParam[2];   
  23.              param[0]=new UrlParam("name1", "value1");   
  24.              param[1]=new UrlParam("name2", "value2");   
  25.              dialog.setBaseParams(param);   
  26.                                      //上传数据名称 并非文件名 
  27.              dialog.setPostVarName("myvar");   
  28.              dialog.show();   
  29.                      }   
  30.                  });   
  31.              panel.add(button);   
  32.              RootPanel.get().add(panel);   
  33.  
  34.          }   
  35.      }   

import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.user.client.ui.RootPanel; 
import com.gwtext.client.widgets.Button; 
import com.gwtext.client.widgets.Panel; 
import com.gwtext.client.widgets.event.ButtonListenerAdapter; 
import com.gwtext.client.core.EventObject; 
import com.gwtext.client.core.UrlParam; 
import com.gwtextux.client.widgets.upload.UploadDialog; 

public class UploadDialogSample implements EntryPoint{ 

public void onModuleLoad() { 
Panel panel = new Panel(); 
Button button = new Button("Upload File", new ButtonListenerAdapter() { 
     public void onClick(final Button button, EventObject e) { 
       UploadDialog dialog = new UploadDialog(); 
                        //于xml对应
       dialog.setUrl("UploadSvc"); 
                       //上传文件类型
       //dialog.setPermittedExtensions(new String[]{"jpg", "gif"});
                       //参数
     UrlParam param[] = new UrlParam[2]; 
     param[0]=new UrlParam("name1", "value1"); 
     param[1]=new UrlParam("name2", "value2"); 
     dialog.setBaseParams(param); 
                             //上传数据名称 并非文件名
     dialog.setPostVarName("myvar"); 
     dialog.show(); 
         } 
     }); 
     panel.add(button); 
     RootPanel.get().add(panel); 

     } 













服务端:
Java代码

   1. import java.io.BufferedInputStream; 
   2. import java.io.BufferedOutputStream; 
   3. import java.io.File; 
   4. import java.io.FileOutputStream; 
   5. import java.io.IOException; 
   6. import java.io.InputStream; 
   7. import javax.servlet.ServletException; 
   8. import javax.servlet.http.HttpServlet; 
   9. import javax.servlet.http.HttpServletRequest; 
  10. import javax.servlet.http.HttpServletResponse; 
  11.  
  12. import org.apache.commons.fileupload.FileItemIterator; 
  13. import org.apache.commons.fileupload.FileItemStream; 
  14. import org.apache.commons.fileupload.servlet.ServletFileUpload; 
  15. import org.apache.commons.fileupload.util.Streams; 
  16.  
  17. import com.google.gwt.core.client.GWT; 
  18.  
  19. public class UploadSvcImpl extends HttpServlet { 
  20.  
  21.     private static final long serialVersionUID = 1L; 
  22.  
  23.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
  24.             throws ServletException, IOException { 
  25.  
  26.         /*
  27.          * The following commented code uses Apache Commons Upload
  28.          */ 
  29.         // Check that we have a file upload request 
  30.         boolean isMultipart = ServletFileUpload.isMultipartContent(req); 
  31.         GWT.log("is multipart? " + Boolean.toString(isMultipart), null); 
  32.         // Create a new file upload handler 
  33.         ServletFileUpload upload = new ServletFileUpload(); 
  34.  
  35.         try { 
  36.             // Parse the request 
  37.             FileItemIterator iter = upload.getItemIterator(req); 
  38.             while (iter.hasNext()) { 
  39.                 FileItemStream item = iter.next(); 
  40.                 String name = item.getFieldName(); 
  41.                 InputStream stream = item.openStream(); 
  42.                 if (item.isFormField()) { 
  43.                     System.out.println("Form field " + name + " with value " 
  44.                             + Streams.asString(stream) + " detected."); 
  45.                 } else { 
  46.                     System.out.println("File field " + name 
  47.                             + " with file name " + item.getName() 
  48.                             + " detected."); 
  49.                     BufferedInputStream inputStream = new BufferedInputStream( 
  50.                             stream);// 获得输入流 
  51.                     BufferedOutputStream outputStream = new BufferedOutputStream( 
  52.                             new FileOutputStream(new File("/var/app/fax/" 
  53.                                     + item.getName())));// 获得文件输出流 
  54.                     Streams.copy(inputStream, outputStream, true); // 开始把文件写到你指定的上传文件夹 
  55.                 } 
  56.                 stream.close(); 
  57.             } 
  58.             System.out.println("上传成功!"); 
  59.         } catch (Exception ex) { 
  60.             ex.printStackTrace(); 
  61.         } 
  62.     } 
  63.  
  64. } 

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;

import com.google.gwt.core.client.GWT;

public class UploadSvcImpl extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

/*
* The following commented code uses Apache Commons Upload
*/
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(req);
GWT.log("is multipart? " + Boolean.toString(isMultipart), null);
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();

try {
// Parse the request
FileItemIterator iter = upload.getItemIterator(req);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
System.out.println("Form field " + name + " with value "
+ Streams.asString(stream) + " detected.");
} else {
System.out.println("File field " + name
+ " with file name " + item.getName()
+ " detected.");
BufferedInputStream inputStream = new BufferedInputStream(
stream);// 获得输入流
BufferedOutputStream outputStream = new BufferedOutputStream(
new FileOutputStream(new File("/var/app/fax/"
+ item.getName())));// 获得文件输出流
Streams.copy(inputStream, outputStream, true); // 开始把文件写到你指定的上传文件夹
}
stream.close();
}
System.out.println("上传成功!");
} catch (Exception ex) {
ex.printStackTrace();
}
}

}





你也可以直接访问http://max-bazhenov.com/dev/upload- dialog-2.0/index.php 



下载:

grid里双击触发下载
Java代码

   1. protected void onGridRowDblClick(GridPanel grid, int rowIndex, EventObject e) { 
   2.              // test.rar在 public目录下 
   3.     Window.open(GWT.getHostPageBaseURL()+"test.rar", "", ""); 
   4. } 

protected void onGridRowDblClick(GridPanel grid, int rowIndex, EventObject e) {
              // test.rar在 public目录下
Window.open(GWT.getHostPageBaseURL()+"test.rar", "", "");
}





    * commons-fileupload-1.2.1.jar (56.4 KB)
    * 下载次数: 113

    * gwtextux.jar (1.4 MB)
    * 下载次数: 219
[/size][size=x-large][size=large][/size]
分享到:
评论

相关推荐

    gwtext编写的小系统

    GWText是一个基于Google Web Toolkit (GWT) 和EXT GWT (GXT) 框架的开源项目,用于构建富互联网应用程序(Rich Internet Applications, RIA)。这个“gwtext编写的小系统”是一个示例项目,旨在帮助初学者理解如何...

    gwtext-2.0.4.zip

    "gwtext-2.0.4.zip" 是一个软件包,根据其命名,我们可以推测它是一个名为 "gwtext" 的程序或库的版本2.0.4。在IT领域,这样的压缩包通常包含了源代码、编译好的二进制文件、安装脚本或者配置文件等资源,供用户下载...

    Gwt-ext学习笔记之基础篇

    - 确保下载了`gwtext-2.0.3`和`ext-2.1`这两个版本。 2. **加入gwtext.jar和ext资源** - 将`gwtext-2.0.3`目录下的`gwtext.jar`文件加入到项目中。 - 在项目的`public`目录中创建`js`文件夹,并将`ext-2.1`目录...

    GWTEXT 与Hibernate整合实例

    GWTEXT 是一个基于Java的文本处理库,常用于大规模文本数据的处理和分析。而Hibernate则是一个非常流行的Java ORM(对象关系映射)框架,它简化了Java应用程序与数据库之间的交互。将GWTEXT 和Hibernate整合,可以...

    ext-gwt的下载非常好

    gxt的下载非常好,ext-gwt的下载非常好

    需要GWT-Ext 2.0.5来下

    GWT-Ext 2.0.5 has been released. Grab the distribution from the Downloads area. GWT-Ext 2.0.5 supports GWT 1.5 final (1.5.2), Firefox3 and Chrome.

    gwtext无缝整合struts2

    研究gwt+ext+ssh框架整合编写的一个实例,实例中包括一个说明文档(google plugin创建gwt实例说明、gwt-ext实例的创建、gwt-ext与struts2整合实例说明);还包括文档对应的myeclipse项目。相关的包稍微有点大,没有...

    Gwt-ext学习笔记

    - 将`gwtext-2.0.3`目录下的`gwtext.jar`文件添加到项目中。 - 在项目的`public`目录中创建`js`文件夹,并导入`ext-2.1`目录下的`adapter`、`resources`目录以及`ext-all.js`、`ext-core.js`文件。 2. **修改HTML...

    (转载)GWT -EXT学习笔记-基础

    2. 将下载的`gwtext.jar`文件添加到项目中。 3. 在项目的`public`目录下新建`js`文件夹,并将`ext-2.1`目录下的`adapter`、`resources`以及`ext-all.js`、`ext-core.js`文件复制到`js`文件夹下。 **步骤二:修改...

    GWT-EXT2.0最佳实践教程,源代码打包供下载

    《GWT-EXT2.0最佳实践教程》源代码打包下载资源主要涵盖了Google Web Toolkit (GWT) 和EXT-JS 2.0的结合使用,提供了丰富的实践案例和示例代码,旨在帮助开发者深入理解和应用这两项技术。GWT是一款强大的JavaScript...

    GWT_EXT项目配置全过程

    1. 下载GWT_EXT库:可以从官方或者第三方网站下载GWT_EXT的jar包或源码压缩包。 2. 添加依赖:将下载的GWT_EXT库文件(通常为jar包)添加到项目的`WEB-INF/lib`目录下,然后在Eclipse的项目属性中,将它们添加到构建...

    非常好的gwt-ext培训教程

    同时,还需要下载并配置 GWT SDK。 2. **创建 GWT-Ext 工程**: 在 Eclipse 中新建一个 Dynamic Web Project,并选择 Cypal Studio for GWT 配置。 3. **定义 GWT Module**: 创建 GWT Module,指定包名和入口类,这个...

    gwt-ext explorer eclipse project 入门与提高

    各种各样的资源找齐还是要点时间的: 1、下载gwt-ext2.04解压 2、解压本资源,导入Eclipse 3、将解压gwt-ext2.04得到一jar包设入classpath 4、按载图编辑你的src 文件夹

    EXT-GWT(GXT)2.2.3 API DOC.zip

    EXT-GWT,全称为Ext GWT,是Sencha公司开发的一个强大的Java库,用于构建富互联网应用程序(RIA)。GXT是EXT-GWT的扩展,它提供了更多组件、样式和功能,使得开发者能够创建出与桌面应用相媲美的用户体验。GXT 2.2.3...

    GWT-EXT学习教程(中级)

    1. **安装GWT**:下载并安装GWT SDK,这是开发GWT应用的基础,包含了所需的库和开发工具。 2. **使用GWT命令行工具**:GWT提供了命令行工具,用于编译Java代码到JavaScript,以及运行开发服务器以进行调试。 3. **...

    搭建简单的EXT-GWT(GXT)的开发环境

    EXT-GWT(GXT)是一种基于Google Web Toolkit (GWT)的开源JavaScript库,用于构建富客户端的Web应用程序。GXT提供了丰富的用户界面组件和样式,使得开发者能够创建出类似于桌面应用的用户体验。本文将详细介绍如何...

Global site tag (gtag.js) - Google Analytics