`

如何在服务器端 读取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.ux.UploadDialog批量上传文件实例

    这通常在Servlet中完成,SmartUpload对象会处理请求,读取上传的文件,并将其保存到服务器指定的目录。 5. **前端配置**:在前端,你需要配置Ext.ux.UploadDialog组件,设置其URL属性指向后端处理文件上传的Servlet...

    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`通常用于创建一个具有...

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

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

    Windows读取Ext4分区的工具 Ext2Read

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

    java读取本地.db文件实例

    在Java编程中,读取本地SQLite数据库(.db文件)是一项常见的任务,特别是在移动应用开发或者需要离线存储数据的场景下。SQLite是一种轻量级的、开源的关系型数据库,它不需要单独的服务器进程,可以直接在应用程序...

    EXT控件lovcombo

    在EXT控件中,"lovcombo"(即Love Combo)是一种特殊的ComboBox,通常用于显示一个列表,其中每个项可以被选择,类似于下拉框。这个lovcombo控件的特色在于它支持多选,通过复选框(checkboxes)来实现这一功能,...

    Ext2Fsd-读取ext4格式的文件系统

    在Windows 10系统上读取ext4格式的文件系统可能需要一些额外的软件支持,因为Windows本身不原生支持ext4格式。以下是一种可行的方法:

    Ext.data专题

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

    读取*.asc文件的点云数据

    读取*.asc文件的点云数据,包括三维坐标和点云颜色,并显示-read

    Mt4 Srv文件读取助手.rar

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

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

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

    Ext 实现 文件上传 进度显示

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

    上传图片,可上传至服务器并且可以读取.rar

    本文将详细解析"上传图片,可上传至服务器并且可以读取.rar"这一主题,涵盖图片上传的流程、技术实现、服务器端处理以及安全考虑等多个方面。 1. 图片上传流程: 用户在前端界面选择本地图片后,通过HTTP或HTTPS...

    Extjs2.x 实现文件上传组件

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

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

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

    Ext+Struts2多文件上传

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

    ExtReader(ext3文件系统读取器)

    ExtReader是一款专为读取ext3文件系统设计的软件,主要面向Windows用户,尤其是开发者和系统管理员。在Windows操作系统上,通常默认不支持Linux的ext3文件系统,因此ExtReader填补了这一空白,使得用户无需在Linux...

    javascript读取文件.txt

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

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

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

Global site tag (gtag.js) - Google Analytics