`

如何在服务器端 读取Ext.ux.UploadDialog上传的文件?

阅读更多

问题已经解决。
1。要导入 commons.io.jar包。
2。upload.js调用 Ext.ux.UploadDialog时候,url属性要包含项目名。
3. DiskFileUpload fu = new DiskFileUpload();  
确实已经废弃,建议使用:
DiskFileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(factory);

  1. import java.io.File;   
  2. import java.io.IOException;   
  3. import java.util.Iterator;   
  4. import java.util.List;   
  5.   
  6. import javax.servlet.ServletException;   
  7. import javax.servlet.http.HttpServlet;   
  8. import javax.servlet.http.HttpServletRequest;   
  9. import javax.servlet.http.HttpServletResponse;   
  10.   
  11. import org.apache.commons.fileupload.DiskFileUpload;   
  12. import org.apache.commons.fileupload.FileItem;   
  13. public class UpFileServlet extends HttpServlet {   
  14.     private String uploadPath="c:\\Upfile\\"// 上传文件的目录      
  15.     private String tempPath="c:\\upfiel"// 临时文件目录    
  16.        
  17.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  18.             throws ServletException, IOException {   
  19.                 doPost(request,response);   
  20.     }   
  21.   
  22.        
  23.     public void doPost(HttpServletRequest request, HttpServletResponse response)   
  24.             throws ServletException, IOException {   
  25.         response.setContentType("text/html;charset=UTF-8");   
  26.         try {       
  27.             DiskFileUpload fu = new DiskFileUpload();   
  28.             // 设置最大文件尺寸,这里是4MB       
  29.             fu.setSizeMax(4194304);       
  30.             // 设置缓冲区大小,这里是4KB       
  31.             fu.setSizeThreshold(4096);       
  32.             // 设置临时目录:       
  33.             fu.setRepositoryPath(tempPath);       
  34.           
  35.             // 得到所有的文件:       
  36.             List fileItems = fu.parseRequest(request);       
  37.             Iterator i = fileItems.iterator();       
  38.             // 依次处理每一个文件:       
  39.             while(i.hasNext()) {       
  40.                 FileItem fi = (FileItem)i.next();       
  41.                 // 获得文件名,这个文件名包括路径:       
  42.                 String fileName = fi.getName();   
  43.                 int start=fileName.lastIndexOf("\\");   
  44.                 //获得上传的文件名   
  45.                 String paths=fileName.substring(start+1, fileName.length());   
  46.                 fi.write(new File(uploadPath+paths));      
  47.             }       
  48.             response.getWriter().write("{'success':true,'message':'文件上传成功'}");   
  49.         }       
  50.         catch(Exception e) {       
  51.             System.out.println(e.getMessage()+" : "+e.getCause());   
  52.             response.getWriter().write("{'success':false,'message':error...'}");   
  53.         }       
  54.     }   
  55.   
  56.   
  57.     public void init() throws ServletException {   
  58.             // 文件夹不存在就自动创建!   
  59.             if(!new File(uploadPath).isDirectory())       
  60.                 new File(uploadPath).mkdirs();       
  61.             if(!new File(tempPath).isDirectory())       
  62.                 new File(tempPath).mkdirs();     
  63.     }   
  64. }  
分享到:
评论

相关推荐

    Ext.data.Store的基本用法

    这样做会使得`Ext.data.Store`在向服务器请求数据时自动添加`sort`和`dir`参数,从而让服务器端能够根据这些参数进行排序处理。 ```javascript var store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({...

    Ext.UploadDialog

    Ext.UploadDialog是一个在Web应用程序中用于实现多文件上传功能的组件。这个组件是基于Ext JS库,一个强大的JavaScript UI框架,它提供了丰富的用户界面控件和功能。在Ext JS中,`UploadDialog`通常用于创建一个具有...

    Ext.data.Store 读取XML属性值

    这篇博客文章《Ext.data.Store 读取XML属性值》可能深入探讨了如何利用`Ext.data.reader.Xml`来解析XML并填充数据存储。 XML是一种结构化数据格式,广泛用于数据交换,尤其是Web服务和API。`Ext.data.reader.Xml`是...

    封装一个类搞定90%安卓客户端与服务器端交互

    本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案....5.上传文件到服务器端. 6.从服务器端下载文件. 7.从服务器端读取文本文件. http://blog.csdn.net/lk_blog

    Windows读取Ext4分区的工具 Ext2Read

    2. **查看与复制**: 用户可以像在Windows资源管理器中一样,浏览EXT分区中的文件和目录结构,预览文件内容(对于文本文件),并能直接将文件或整个目录复制到Windows分区。 3. **LVM2支持**: LVM(逻辑卷管理)是...

    Mt4 Srv文件读取助手.rar

    总的来说,“MT4 Srv文件读取助手”是一款针对MT4平台的辅助工具,它利用MT4 API和SDK,帮助用户快速读取和理解srv文件,实现服务器信息的查看和测速。对于交易者和系统管理员而言,这不仅提高了操作便利性,也提升...

    android客户端向java服务器端上传文件.zip

    在Android客户端与Java服务器端的通信中,文件上传是一个常见的需求。这通常涉及到网络编程、HTTP协议、多线程处理以及数据序列化等技术。在这个示例中,我们将深入探讨如何实现这一功能。 首先,Android客户端需要...

    Ext.data专题

    - **isUpload**: 布尔值,指示是否执行文件上传。 - **headers**: 自定义的HTTP头部。 - **xmlData**: XML数据,通过URL附加参数的方式发起请求。 - **disableCaching**: 布尔值,指示是否禁用缓存。 ##### 其他...

    ASP技术常遇问题解答-如何读取一个.ini文件?.zip

    ASP(Active Server Pages)是微软开发的一种服务器端脚本环境,用于动态网页开发。在ASP技术中,有时我们需要处理各种类型的文件,如.ini配置文件,它们通常存储应用程序的设置或配置信息。这篇文档"ASP技术常遇...

    java读取tar.gz压缩文件的jar包

    java读取tar.gz压缩文件的jar包

    Ext 实现 文件上传 进度显示

    `commons-fileupload`提供了`FileItemStream`接口,用于读取上传的文件流,以及`FileUpload`类,用于解析请求中的多部分数据。 实现文件上传进度显示的关键在于使用Ajax异步请求,`Ext.Ajax`或`Ext.data.Connection...

    Ext Js权威指南(.zip.001

    7.2.4 服务器端代理:ext.data.proxy.server / 305 7.2.5 使用ajax处理数据的代理:ext.data.proxy.ajax与ext.data.proxy.rest / 308 7.2.6 跨域处理数据的代理:ext.data.proxy.jsonp / 312 7.2.7 为ext.direct...

    Extjs2.x 实现文件上传组件

    在文件上传场景中,我们需要添加一个FileUploadField,这是一个特殊的文本框,用户可以在这里选择文件。 ```javascript var fileField = new Ext.form.FileUploadField({ id: 'fileInput', fieldLabel: '选择文件...

    深入浅出Ext_JS:数据存储与传输

    总结来说,Ext.data是Ext_JS框架中处理数据的核心部分,它提供了强大的数据存储、读取和传输能力。通过灵活的Store、Reader和Proxy机制,开发者可以轻松地从各种数据源获取数据并呈现给用户。同时,Ext.data....

    ext3.x和2.x上传文件例子upolad

    在`UploadDialog`这个文件中,可能包含了实现上述步骤的代码,比如一个用于展示上传界面的对话框,以及处理上传操作的相关逻辑。如果遇到问题,可以按照描述中提到的,到博客提问获取帮助。 总之,`ext3.x`和`2.x`...

    Ext+Struts2多文件上传

    在文件上传场景中,Struts2提供了Action类和拦截器来接收并处理文件。 实现多文件上传的关键步骤如下: 1. **前端准备**:在ExtJS中,使用`Ext.form.FileField`或`Ext.form.Basic`来创建一个文件选择输入框。用户...

    javascript读取文件.txt

    在服务器端(如Node.js环境)或具有特殊权限的环境中,则可以更自由地读取文件。 #### 1. 使用`ActiveXObject`(仅适用于Internet Explorer) 在Internet Explorer中,可以利用`ActiveXObject`来创建`...

    CXF之二(上传及下载附件)

    在服务端的实现类中,我们可以读取`InputStream`或`Part`,并将其保存到服务器的某个位置。这里需要注意文件的存储策略,包括路径、命名规则和权限控制。 4. **客户端调用**: 在客户端,我们需要创建一个...

    EXT3.0 JSP上传

    同时,需要在服务器端(JSP)配置接收并处理这些上传文件的逻辑。例如: ```javascript Ext.onReady(function() { var uploadForm = Ext.getCmp('uploadForm'); uploadForm.getForm().on('submit', function(form...

Global site tag (gtag.js) - Google Analytics