`
zjnbshifox
  • 浏览: 314928 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

ExtJs文件上传例子

阅读更多
Extjs里文件上传需要扩展的组件,自己在做extjs例子,没有什么好的方法,网上找的也有很多不同的方法,我用的是Ext.ux.UploadDialog。
在文件里引用
xml 代码
 
  1. <script type="text/javascript" src="lib/extjs.ux/Ext.ux.UploadDialog.js" ></script>  
  2. <script type="text/javascript" src="lib/extjs.ux/Ext.ux.ProgressBar.js" ></script>  
  3. <link rel="stylesheet" type="text/css" href="css/Ext.ux.ProgressBar.css"/>  
  4. <link rel="stylesheet" type="text/css" href="css/Ext.ux.UploadDialog.css"/>  
然后在js的代码里加入:
js 代码
 
  1. var dialog = new Ext.ux.UploadDialog.Dialog(null, {  
  2.           autoCreate: true,  
  3.           closable: true,  
  4.           collapsible: false,  
  5.           draggable: true,  
  6.           minWidth: 400,        
  7.           minHeight: 200,  
  8.           width: 400,  
  9.           height: 350,  
  10.           permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif'],  
  11.           proxyDrag: true,  
  12.           resizable: true,  
  13.           constraintoviewport: true,  
  14.           title: '文件上传',  
  15.           url: 't_file_upload.php',  
  16.           reset_on_hide: false,  
  17.           allow_close_on_upload: true  
  18.         });  
在上传按钮单击时弹出上传对话框:
js 代码
 
  1. btnUpload.on("click",function(){  
  2.                         dialog.show();  
  3.                     });  
下面要做的事情就是在t_file_upload.php这个文件里面来处理上传后的操作了:
java 代码
 
  1. <?php  
  2.     $file = "";  
  3.     $result = array();  
  4.     $ext = strrchr($_FILES["file"]["name"],'.');  
  5.     $file = "". date("YmdHis") . $ext;        
  6.     if(move_uploaded_file($_FILES["file"]["tmp_name"],"images/upload/" . $file)){  
  7.         $result = array('success'=>true,data=>$file);  
  8.     }else{  
  9.         $result = array('success'=> false, 'error'=> '文件上传错误');  
  10.     }                 
  11.     echo json_encode($result);    
  12. ?>  
上传文件的内容就是file,是规定好的:)
附件中上传的是组件库
分享到:
评论
16 楼 javaAlpha 2009-11-14  
遇到一个类似的上传是需求
15 楼 lusiyang 2009-04-03  
为什么fileItems空而request里有值啊
14 楼 wwwtd 2008-09-15  
action.result is undefined 一直报这个错误该如何解决呢?
13 楼 sailer 2008-07-22  
t_file_upload.php这个文件的内容正确吗?它从哪里获得参数和值?
12 楼 shan_gogo 2008-05-29  
楼主 我想问下 这个Ext上传用的是1.x还是2.x???

我从Ext官方下载的Upload工具包里怎么只有
<script type="text/javascript" src="uploadDialog/Ext.ux.UploadDialog.js"></script>
<link rel="stylesheet" type="text/css" href="uploadDialog/css/Ext.ux.UploadDialog.css" />
没有其他的???
请指教
11 楼 kayzhan 2008-05-21  
我按楼主的写的,结果总是说找不到dialog,说dialog没有定义。而我确实引入了那些文件阿

<script type="text/javascript" src="uploadDialog/Ext.ux.ProgressBar.js"></script>
<script type="text/javascript" src="uploadDialog/Ext.ux.UploadDialog.js"></script>
<script type="text/javascript" src="uploadDialog/uploadDialog.js"></script>
<link rel="stylesheet" type="text/css" href="uploadDialog/css/Ext.ux.UploadDialog.css" />
<link rel="stylesheet" type="text/css" href="uploadDialog/css/Ext.ux.ProgressBar.css" />

uploadDialog.js里写的是
var dialog = new Ext.ux.UploadDialog.Dialog(null, { 
        autoCreate: true, 
        closable: true, 
        collapsible: false, 
        draggable: true, 
        minWidth: 400,       
        minHeight: 200, 
        width: 400, 
        height: 350, 
        permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif'], 
        proxyDrag: true, 
        resizable: true, 
        constraintoviewport: true, 
        title: '文件上传', 
        url: 'servlet/ServletUpload', 
        reset_on_hide: false, 
        allow_close_on_upload: true 
    }); 

然后我在一个按钮里写
handler: function(){
             dialog.show();
             }
结果说dialog没有定义,怎么回事呢?
10 楼 kaki 2008-03-24  
我的已经解决了,主要是要注意servlet的命名和路径不要和其他应用重复,上面的方法可以通过。
9 楼 kaki 2008-03-24  
我的方法直接使用楼主的方法还是不能通过啊。好像根本不能提交数据一样。
8 楼 hqmln422150393 2008-03-23  
为什么我的页面都出不来啊?
7 楼 kaki 2008-03-21  
servlet:

package com.hiber;

import java.io.File;
import java.io.IOException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.List;

import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;

public class Upload extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 7440302204266787092L;

	String uploadPath = "d:\\uploadtest\\"; // 用于存放上传文件的目录

	String tempPath = "d:\\tmp\\"; // 用于存放临时文件的目录

	public Upload() {
		super();
		System.out.println("文件上传启动");
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void init() throws ServletException {
		System.out.println("文件上传初始化");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		try {
			System.out.println("开始进行文件上传");
			DiskFileUpload fu = new DiskFileUpload();
			fu.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB
			fu.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
			fu.setRepositoryPath(tempPath); // 设置临时目录
			List fileItems = fu.parseRequest(request); // 得到所有的文件:
			Iterator i = fileItems.iterator();
			// 依次处理每一个文件:
			while (i.hasNext()) {
				FileItem fi = (FileItem) i.next();
				String fileName = fi.getName();// 获得文件名,这个文件名包括路径:
				if (fileName != null) {
					// 在这里可以记录用户和文件信息
					// 此处应该定义一个接口(CallBack),用于处理后事。
					// 写入文件a.txt,你也可以从fileName中提取文件名:
					String extfile = fileName.substring(fileName.indexOf("."));
					
					Timestamp now = new Timestamp((new java.util.Date())
							.getTime());

	                 SimpleDateFormat   fmt   =   new   SimpleDateFormat("yyyyMMddHHmmssSSS");   
	                String  pfileName=   fmt.format(now).toString().trim();   
					System.out.println(uploadPath+pfileName+extfile);
					fi.write(new File(uploadPath + pfileName + extfile));
				}
			}
			response.setContentType("text/html;charset=utf-8");
			response.getWriter().print("{success:true,message:'上传成功'}");

			//response.getWriter().print("{success:true,msg:'成功'}");
			// 跳转到上传成功提示页面
		} catch (Exception e) {
			e.printStackTrace();
			response.getWriter().print("{success:flase,message:'失败'}");
			// 可以跳转出错页面
		}

	}
}
6 楼 kaki 2008-03-21  
servlet 大家用过吗??

我的serlet在jsp里面可以正常用,但是放在楼主的例子里面就不行了,大家看看可以吗??


Ext.onReady(function() {

	var dialog = new Ext.ux.UploadDialog.Dialog(null, {
          autoCreate: true,   
          closable: true,   
          collapsible: false,   
          draggable: true,   
          minWidth: 400,         
          minHeight: 200,   
          width: 400,   
          height: 350,   
          permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif'],   
          proxyDrag: true,   
          resizable: true,   
          constraintoviewport: true,   
          title: '文件上传',   
          url: "fileupload",   
          reset_on_hide: false,   
          allow_close_on_upload: true 
	});
	dialog.show('my-dlg');

});
5 楼 kaki 2008-03-19  
java 版的有没有???
4 楼 sariy 2008-03-17  
请问java后台怎么接文件啊 搞了好久接不到啊 
谢谢  qq:121656995
email:suyuan_6@163.com
3 楼 zjnbshifox 2008-03-05  
Uploadform还有base_params这个属性可以用来添加额外的参数
http://www.max-bazhenov.com/dev/upload-dialog-2.0/index.php
2 楼 zjnbshifox 2008-03-05  
t_file_upload.php?filepath=icon/ 这个样子参数应该从 $_GET["filepath"]取得吧,
1 楼 hongfulover 2008-03-02  
请教一下:"images/upload/",你这个上传是路径是写了,如果我需要从上传页传一个路径可以怎么做?我试过用t_file_upload.php?filepath=icon/,不行的。

相关推荐

    struts2.0+Extjs文件上传例子

    功能强大的Struts2.0+Extjs实现的文件上传,包含文件上传进度,文件的下载,压缩,解压多文件删除等

    批量上传文件 EXTJS文件上传 上传组件

    EXTJS是一种基于JavaScript的前端框架,它提供了丰富的用户界面组件,包括用于文件上传的组件。在EXTJS中,实现批量上传文件是一项常见的需求,尤其在处理大量数据或媒体文件时。EXTJS的文件上传组件提供了方便的...

    ExtJS4 上传文件类型和大小的判断方法(实例)

    对应的描述看本人博文《ExtJS4 上传文件类型和大小的判断方法(实例) 》:http://blog.csdn.net/biboheart/article/details/10579175 在这里不具体描述了。看题也大概可以知道这些代码实现了什么应用。

    EXTjs 文件上传(可用)

    本文将深入探讨如何使用EXTjs进行文件上传,并结合Strut2实现这一功能。 首先,EXTjs 提供了`Ext.form.FileField`组件,用于在表单中创建文件选择字段。这个组件允许用户选择本地文件,然后通过AJAX方式提交到...

    extjs多文件上传

    本文将深入探讨“extjs多文件上传”这一主题,结合标签“源码”和“工具”,我们将主要关注如何使用ExtJS库实现这一功能,并可能涉及第三方上传工具Plupload。 首先,ExtJS是一个基于JavaScript的UI框架,它提供了...

    extjs 多文件上传

    在ExtJS中实现多文件上传功能,能够极大地提升用户体验,特别是在处理大量数据或文件时。本篇文章将详细探讨如何使用ExtJS实现多文件上传,并涵盖相关的关键知识点。 一、ExtJS 文件上传组件 在ExtJS中,我们可以...

    extjs 多文件上传代码实例

    在本文中,我们将深入探讨如何使用ExtJS实现多文件上传功能,而不依赖于SWFUpload插件。ExtJS是一款强大的JavaScript框架,它提供了丰富的组件和API,使得在Web应用程序中构建复杂的用户界面变得轻松易行。多文件...

    Extjs多文件上传

    在“Extjs多文件上传”这个主题中,我们将深入探讨如何使用ExtJS实现一个支持自由添加和减少上传文件个数的多文件上传功能。 首先,ExtJS的文件上传功能通常依赖于其组件系统,特别是`Ext.form.FileField`(也称为`...

    extjs 多文件上传控件

    在ExtJS中,多文件上传控件是开发人员常用的一种功能,用于在网页上实现批量上传多个文件。这种控件允许用户一次性选择并上传多个文件,极大地提升了用户体验。 在ExtJS中实现多文件上传,主要涉及到以下几个关键...

    struts2+extjs3 单/多文件上传

    总结来说,Struts2+ExtJS3组合可以有效地实现文件上传功能,无论是在后台处理还是在前端交互方面都有很好的支持。提供的资源包含了所有必要的JAR包,使得开发者可以快速集成并理解代码,减少了额外的下载和配置工作...

    ExtJS实现多文件上传UploadDialog For ExtJS3.x

    最后,在ExtJS中创建`UploadDialog`实例,配置好URL、参数、回调函数等,这样当用户选择文件并点击上传按钮时,就会触发Struts2 Action的执行,从而实现多文件上传。 综上所述,实现ExtJS 3.x的多文件上传功能,...

    ExtJS3.4和VS2010上传文件的进度条

    综上所述,这个例子演示了如何结合ExtJS3.4的进度条组件和VS2010的.NET环境,实现文件上传时的进度显示功能。开发人员可以从这个示例中学到如何在客户端和服务器端之间同步文件上传进度,提升用户界面的交互性和反馈...

    ExtJS4+strtus2文件上传实例源码

    在本文中,我们将深入探讨如何使用ExtJS4和Struts2框架实现文件上传功能。首先,让我们了解一下这两个关键技术和它们在文件上传中的作用。 **ExtJS4:** ExtJS4是一个强大的JavaScript库,用于构建富客户端应用程序...

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    extjs上传全代码

    EXTJS是一种基于JavaScript的前端框架,由Sencha公司开发,用于构建富客户端应用程序。它提供了丰富的组件库,包括表格...同时,这也提供了一个学习和研究EXTJS文件上传功能的实例,有助于加深对EXTJS组件和API的理解。

    ExtJs4.1 swfupload 多文件上传实例

    前后台已经融合 解压放在.net 3.5下就可以运行 包含 Extjs4.1 UploadPanel.js swfupload.js swfupload.swf swfupload_fp9.swf Upload.aspx Upload.aspx.cs UploadPanel.htm upload

    Extjs4 swfupload多文件上传

    总的来说,"Extjs4 swfupload多文件上传"是一个结合了ExtJS4组件化开发能力和SwfUpload高级上传功能的解决方案。它提供了一个高效、可控的多文件上传体验,同时也考虑到了服务器安全和性能优化。对于需要开发复杂Web...

Global site tag (gtag.js) - Google Analytics