`
wzh1008
  • 浏览: 3928 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

答复: ext2.0如何做文件上传?

阅读更多
                     Extjs+struts实现文件上传
1.fileUpload.js

  Ext.onReady(function(){ 
  
   var form = new Ext.form.FormPanel({ 
      renderTo:'file',
      labelAlign: 'right', 
      title: '文件上传', 
      labelWidth: 60, 
      frame:true,
      url: '../upload.do?op=uploadFile',//fileUploadServlet 
      width: 300, 
      height:200,
      fileUpload: true,
    

      items: [{ 
         xtype: 'textfield', 
         fieldLabel: '文件名', 
         name: 'file', 
         inputType: 'file'//文件类型 
       }], 
      
     buttons: [{ 
         text: '上传', 
         handler: function() { 
         form.getForm().submit({ 
         success: function(form, action){ 
            Ext.Msg.alert('信息', '文件上传成功!'); 
         }, 
        failure: function(){ 
           Ext.Msg.alert('错误', '文件上传失败'); 
        } 
      }); 
     } 
   }] 
   }); 

   }); 

2.uploadAction.java   其中使用了cos上传组件,下载地址:http://www.servlets.com/cos/cos-05Nov2002.zip

package zx.struts.actions;

import java.io.File;
import java.util.Enumeration;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.oreilly.servlet.MultipartRequest;


public class UploadAction extends DispatchAction{
	public ActionForward uploadFile(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)throws Exception {

		
		String saveDirectory ="F:\\jboss-4.2.2.GA\\server\\default\\deploy\\userDemo.war\\upload";      //文件上传后,保存的位置

		int maxPostSize =3 * 5 * 1024 * 1024 ;   //每个文件最大5MB,最多3个文件,所以... 
      
		//response的编码为"gb2312"
		MultipartRequest multi = 
		       new MultipartRequest(request, saveDirectory, maxPostSize, 
		                            "gb2312"); 

        //输出反馈信息 
		 Enumeration files = multi.getFileNames();  
		     while (files.hasMoreElements()) { 
		       
		       String name = (String)files.nextElement(); 
		       File f = multi.getFile(name); 
		       if(f!=null){ 
		         String fileName = multi.getFilesystemName(name); 
		         String lastFileName= saveDirectory+"\\" + fileName; 
		         System.out.println("上传的文件:"+lastFileName); 
		         

		       } 
		     } 

    
   return null;
}
}
分享到:
评论
1 楼 henlliy 2008-11-03  
我也是这样 做的报错:兄弟们帮帮忙:
java.io.IOException: Corrupt form data: premature ending
at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:222)
at com.oreilly.servlet.MultipartRequest.<init>(MultipartRequest.java:173)
at cn.sh.ideal.struts.action.VersionAction.createVersion(VersionAction.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at cn.sh.ideal.listener.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at cn.sh.ideal.listener.PurviewFilter.doFilter(PurviewFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)

相关推荐

    ext2.0(jsp标签)

    在EXT 2.0的压缩包文件"ext-2.0"中,可能包含了EXT库的JavaScript文件、CSS样式文件、图像资源以及示例代码等,开发者可以通过这些资源学习EXT 2.0的使用方法,快速上手并创建自己的富互联网应用。通过深入理解和...

    最新的ext2.0下载

    在压缩包中的"ext2"文件可能包含了EXT2.0的源码、示例代码、文档和其他相关资源,这将帮助开发者快速理解和使用EXT2.0框架。通过深入研究这些文件,开发者可以掌握EXT2.0的架构原理,理解其组件工作方式,进而高效地...

    EXT2.0 工程文件

    EXT2.0是一种古老的Linux文件系统,它是EXT(第二扩展文件系统)的第二个主要版本,由Remy Card在1993年开发。EXT2.0的出现是为了解决当时广泛使用的VFAT和FAT文件系统在Linux环境中的局限性,尤其是在大容量硬盘上...

    ext2.0官方文档

    此外,还可能涉及EXT2.0与其他文件系统的比较,如EXT3和EXT4的改进点,以及为何在某些场景下仍然选择EXT2.0。 深入学习EXT2.0,不仅可以帮助Linux管理员更好地管理他们的系统,也是提升系统性能和数据安全性的关键...

    EXT2.0中文教程

    EXT2.0中文教程是一个专为中文用户设计的EXT文件系统学习资源,旨在详细解析EXT文件系统的使用方法。EXT(Second Extended File System)是Linux操作系统中广泛使用的日志式文件系统,尤其在早期版本中非常常见。EXT...

    ext 2.0 源码 下载

    7. **树形结构**:EXT 2.0的TreePanel组件可以展示和操作层次数据,常用于文件系统或组织结构的展示。 8. **图表组件**:EXT 2.0还提供了图表组件,如柱状图、饼图、线图等,方便数据可视化。 9. **拖放功能**:...

    EXT2.0最新压缩包

    EXT2.0是一种广泛应用于Linux操作系统中的文件系统,它的全称是Extended File System Version 2.0。在Linux世界中,文件系统是管理和组织磁盘数据的核心组件,它决定了文件如何存储、检索以及如何实现高效的读写操作...

    Ext2.0中文文档

    Ext 2.0是Sencha公司开发的一个JavaScript库,主要用于构建富互联网应用程序(RIA)。这个中文文档包含了关于Ext 2.0的详细说明,对于开发者来说是一个非常宝贵的资源,可以帮助他们理解和使用这个强大的前端框架。 ...

    ext2.0原始js

    EXT2.0原始JS是一个与EXT库相关的资源,EXT是一个流行的JavaScript框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。EXT2.0版本是该框架的一个早期迭代,它包含了一系列组件和工具,...

    ext2.0API

    2. **预分配**:在EXT2.0中,文件预分配功能允许在创建文件时预先分配空间,减少了文件扩展时的碎片。这有助于提高文件系统的整体效率,并且对于大文件的处理特别有益。 3. **块组优化**:EXT2.0对块组进行了优化,...

    EXT2.0中文API

    EXT2.0中文API是专为开发者设计的一套详尽的文档,主要涵盖了EXT2.0框架中的各种组件、函数、方法以及事件处理等关键内容。EXT2.0是一款广泛应用于构建富互联网应用(Rich Internet Applications,RIA)的JavaScript...

    EXT2.0 简明教程.rar

    EXT2.0 是Linux操作系统中的一种文件系统,它在1993年由Rene Rebeau开发,并作为EXT(第二扩展文件系统)的改进版发布。EXT2.0在当时是Linux社区广泛使用的标准文件系统之一,尤其在早期的Linux发行版中。它在EXT1的...

    ext 2.0

    EXT 2.0 是一个基于 JavaScript 的富因特网应用程序(Rich Internet Application, RIA)框架,主要用于构建桌面级的Web应用。EXT 2.0的发布为开发者提供了更加强大且灵活的工具,用于创建功能丰富的用户界面,特别是...

    ext2.0下载

    EXT2.0是一款知名的Web开发框架,其全称为Ext JS 2.0。这款JavaScript库专为构建富...在压缩包中找到的"ext"文件可能包含了EXT2.0的完整源代码、示例、文档和其他相关资源,这些都是学习和使用EXT2.0的重要参考资料。

    ext2.0中文帮助文档

    **EXT2.0中文帮助文档概述** EXT2.0中文帮助文档是针对EXT JavaScript库的详细指南,旨在为中文用户提供了全面、易懂的技术支持。EXT是一个强大的前端开发框架,主要用于构建富互联网应用程序(Rich Internet ...

    Ext2.0组件,全组件和帮助手册

    Ext2.0是Ext JS库的一个早期版本,它是一个用于构建富互联网应用程序(RIA)的JavaScript框架。这个框架提供了一套完整的UI组件和强大的数据管理功能,使得开发者能够创建交互性强、功能丰富的Web应用。全组件和帮助...

    EXT2.0 API文档

    EXT2.0 API文档中,"ext2.chm"文件可能包含以下内容: 1. **组件系统**:详细介绍了EXT中的各个组件,如GridPanel、FormPanel、TreePanel等,以及如何配置它们的属性、事件和行为。 2. **布局管理**:讲解EXT2.0中...

    ext2.0中文文档

    3. **Inode(索引节点)**:inode是EXT2.0用来存储文件元数据的数据结构,包含文件的权限、所有权、创建时间、修改时间等信息,以及指向文件数据块的指针。 4. **Block和Inode Block**:数据块是存储文件实际内容的...

Global site tag (gtag.js) - Google Analytics