`

uploadify使用详细步骤

    博客分类:
  • js
阅读更多

webwork下uplodify的使用步骤:
1.修改web.xml文件中的拦截器配置,如下:

 

<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

 

2.在类路径下的webwork.properties中修改有关上传功能的配置,如下:

 

### multipart setting
webwork.tag.altSyntax = true
webwork.multipart.saveDir=javax.servlet.context.tempdir
webwork.multipart.maxSize=2097152
webwork.multipart.parser=jakarta

 

3.新建以xwork_upload.xml配置文件,文件内容如下:

 

<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">

<xwork>
 <package name="upload" extends="webwork-default" namespace="/upload">
  <interceptors>
   <interceptor name="upload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
    <param name="maximumSize">10000000</param>
   </interceptor>
   <interceptor-stack name="uploadStack">
    <interceptor-ref name="upload" />
    <interceptor-ref name="defaultStack" />
   </interceptor-stack>
  </interceptors>
  <default-interceptor-ref name="WSStack" />
  
  <action name="doImageUpload" class="net.survey.admin.UploadAction" method="doImageUpload">
   <interceptor-ref name="params" /><!-- 将请求中的参数设置到Action中去 -->
   <interceptor-ref name="basicStack" />
   <interceptor-ref name="uploadStack" />
  </action>  
 </package>
</xwork>

 

4.将刚刚新建的xwork_upload.xml配置文件引入到xwork.xml配置文件中

 

<include file="xwork_upload.xml"/>

 

5.根据配置文件新建net.survey.admin.UploadAction,内容如下:

 

public class UploadAction extends ActionSupport implements ServletRequestAware, ServletResponseAware{
    private HttpServletRequest request;
    private HttpServletResponse response;
 
    private File images;    //和在JS中指定的fileObjName的值相同
    private String imagesFileName;    //[fileName]FileName    获得上传文件的名称
    private String imagesContentType;//[fileName]ContentType  获得上传文件的类型
 
 public String doImageUpload() throws Exception {
  upload("img", imagesFileName, images);
  return null;
 }
 
 public void upload(String dir, String name, File file) throws Exception{
  request.setCharacterEncoding("utf-8");
  response.setContentType("text/html; charset=utf-8");
  String savePath = new String(request.getServletContext().getRealPath("/") + "\\upload\\" + dir);
  if(!new File(savePath).exists())new File(savePath).mkdirs();
  String file_name = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss").format(new Date()) + "_" + new String(name.getBytes("gbk"), "UTF-8"); // 唯一且不重复的文件名
  //文件名形如:ID.文件后缀
  FileOutputStream fos = new FileOutputStream(savePath + "\\" + file_name);
  FileInputStream fis = new FileInputStream(file);
  Streams.copy(fis, fos, true);
  /*byte[] buffer = new byte[1024];
  int len = 0;
  while ((len = fis.read(buffer)) > 0) {
   fos.write(buffer, 0, len);
  }
  fos.close();
  fis.close();*/
  PrintWriter out = response.getWriter();
  //这个地方不能少,否则前台得不到上传的结果
  out.write("1");
  out.close();
 }
 
 @Override
 public void setServletResponse(HttpServletResponse response) {
  this.response = response;
 }

 @Override
 public void setServletRequest(HttpServletRequest request) {
  this.request = request;
 }

 public File getImages() {
  return images;
 }

 public void setImages(File images) {
  this.images = images;
 }

 public String getImagesFileName() {
  return imagesFileName;
 }

 public void setImagesFileName(String imagesFileName) {
  this.imagesFileName = imagesFileName;
 }

 public String getImagesContentType() {
  return imagesContentType;
 }

 public void setImagesContentType(String imagesContentType) {
  this.imagesContentType = imagesContentType;
 }
}

 

6.建立jsp页面,内容如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% 
 String path = request.getContextPath(); 
 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试CRUD</title>
<link href="../uploadify/uploadify.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../uploadify/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="../uploadify/jquery.uploadify.v2.1.4.js"></script>
<script type="text/javascript" src="../uploadify/swfobject.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("#images").uploadify({
        /*注意前面需要书写path的代码*/
        'uploader'       : '<%=basePath%>uploadify/uploadify.swf',
        'script'         : '<%=basePath%>upload/doImageUpload.action',
        'cancelImg'      : '<%=basePath%>uploadify/cancel.png',
        'folder'         : '<%=basePath%>upload/img',
        'queueID'        : 'imageQueue', //和存放队列的DIV的id一致
        'fileDataName'   : 'images', //和以下input的name属性一致
        'removeCompleted': false,
        'auto'           : false, //是否自动开始
        'multi'          : true, //是否支持多文件上传
        'buttonText'     : '选择图片', //按钮上的文字
        'simUploadLimit' : 5, //一次同步上传的文件数目
        'sizeLimit'      : 2097152, //设置单个文件大小限制2M
        'queueSizeLimit' : 5, //队列中同时存在的文件个数限制
        'fileDesc'   : '支持格式:jpg/gif/jpeg/png/bmp.', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
        'fileExt'   : '*.jpg;*.gif;*.jpeg;*.png;*.bmp',//允许的格式 
        'onAllComplete'  :function(event,data)
  {
   $('#img_result').html(data.filesUploaded +'个图片上传成功');
  },
  onError: function(event, queueID, fileObj) {
   alert("图片:" + fileObj.name + "上传失败");
  },
  onCancel: function(event, queueID, fileObj){
   // alert("取消了" + fileObj.name);
  }
    });
});
</script>
</head>
<body>
 <div style="width:800px; height:600px; border:1px solid red; margin:0px auto;">
  <form action="<%=request.getContextPath() %>/xxx.action" method="post">
   <table>
    <tr><td class="td_right">图片:</td>
     <td>
      <input type="file" name="images" id="images"/>
      <a href="javascript:;" onClick="javascript:$('#images').uploadifyUpload()">开始上传</a>&nbsp;<a href="javascript:jQuery('#images').uploadifyClearQueue()">取消所有上传</a>&nbsp;<span id="img_result" style="font-size: 13px;color: red"></span>
      <div id="imageQueue"></div>
     </td>
    </tr>    
   </table>
  </form>
 </div>
</body>
</html>

 

 

说明:该附件中的uploadify插件已经修复了buttonText不支持中文这一bug。

分享到:
评论

相关推荐

    JQuery上传插件Uploadify使用详解

    在ASP.NET环境中使用Uploadify,你需要按照以下步骤进行配置和编码。 首先,创建一个新的Web项目,并命名为`JQueryUploadDemo`。然后,从Uploadify的官方网站获取最新版本的插件包,并将其解压缩到项目中。确保将...

    关于uploadify的使用和示例

    下面我们将详细探讨其使用步骤、核心功能以及常见属性和事件。 首先,使用`uploadify`的基本步骤如下: 1. **下载插件**:你需要从官方或者其他可靠源下载`uploadify-v3.1.zip`,解压缩后得到插件包。 2. **导入...

    Uploadify v2.1.0使用说明

    ### Uploadify v2.1.0 使用说明 #### 一、概述 Uploadify是一款功能强大的文件上传插件,它基于jQuery、Flash以及后端处理脚本实现。此插件不仅支持单文件上传,还能够轻松地实现多文件上传、文件预览等功能。...

    JSP使用文件上传插件uploadify示例

    在这个示例中,提供的"JSP使用文件上传插件uploadify示例.doc"文档可能包含了完整的代码示例和详细步骤,帮助开发者快速理解和应用这一技术。建议详细阅读这份文档,以掌握如何在实际项目中整合uploadify和JSP实现...

    Struts2uploadify3.1

    将Uploadify与Struts2整合,主要步骤包括: 1. **引入依赖**:在项目中添加Uploadify的JavaScript库和CSS文件,以及Struts2相关的jar包。 2. **配置Action**:创建一个处理文件上传的Struts2 Action,该Action需要...

    Laravel开发-laravel-uploadify

    在本文中,我们将深入探讨如何在 Laravel 框架中使用 "laravel-uploadify" 这一库,以便实现高效且灵活的文件上传功能,尤其是针对图像处理。Laravel 是一个流行的 PHP 开发框架,以其优雅的语法和强大的功能而闻名...

    MVC4下对话框中使用Uploadify上传多个文件

    要实现在对话框中使用Uploadify,我们需要做以下步骤: 1. **设置环境**:确保已经安装了ASP.NET MVC4、JQuery库、JQuery UI库以及Uploadify库。通常,这些可以通过NuGet包管理器进行添加。 2. **创建视图**:在...

    jquery uploadify多文件上传例子和详细API

    本文将详细介绍如何在Java Web工程中实现jQuery Uploadify的多文件上传功能,并解析其详细的API。 首先,要理解jQuery Uploadify的工作原理。Uploadify基于Flash技术,它创建了一个模拟的文件输入元素,用户可以...

    uploadify使用

    使用Uploadify的基本步骤是创建一个HTML元素作为上传的触发点,然后用jQuery选择该元素并调用uploadify方法进行初始化。以下是一个基础示例: ```html ``` ```javascript $("#fileInput").uploadify({ 'uploader...

    uploadify JSP的上传例子

    本例将详细介绍如何在JSP(Java Server Pages)环境中集成Uploadify,从而实现文件上传功能。 【描述】:“uploadify JSP的上传例子 将官方网站的PHP例子改写成jsp版本的” Uploadify官方提供的示例通常基于PHP,...

    uploadify 图片上传代码

    集成Uploadify通常涉及以下步骤: - 引入Uploadify的JavaScript和CSS文件。 - 初始化Uploadify,指定上传按钮ID、服务器URL、文件类型等参数。 - 配置回调函数,处理上传过程中的各种事件。 - 如果需要,可以...

    C# 使用uploadify实现图片批量上传

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows...通过以上步骤,你可以利用C#和uploadify实现一个高效、安全的图片批量上传功能。理解并掌握这些知识点,对于开发涉及文件上传的Web应用是非常有帮助的。

    uploadify3.2Demo.rar

    下面我们将详细探讨Uploadify 3.2的主要特性和使用方法。 1. **Uploadify简介** Uploadify是一款非阻塞式的文件上传工具,支持多文件同时上传,并且具有进度条显示、错误提示等功能。在Web开发中,它极大地提高了...

    uploadify-v2.1.4

    在使用Uploadify时,开发者需要进行以下步骤: 1. 引入必要的CSS和JavaScript文件:这包括Uploadify的主脚本、Flash对象以及可能的皮肤样式。 2. 初始化Uploadify对象:在HTML中创建一个元素(通常是`...

    uploadify3.1小示例

    要使用Uploadify,你需要按照以下步骤操作: 1. **引入依赖**:在HTML文件中引入jQuery库和Uploadify.js、Uploadify.css。 2. **创建HTML元素**:创建一个`&lt;input type="file"&gt;`元素作为文件选择器,并为其添加ID。...

    uploadify使用详解

    ### Uploadify在ASP.NET中...通过上述步骤,我们不仅实现了使用Uploadify在ASP.NET中上传文件的功能,还深入了解了其工作原理和配置细节。Uploadify的灵活性和易用性使其成为ASP.NET项目中处理文件上传任务的理想选择。

    java使用uploadify插件实现多文件上传

    以上代码展示了如何在Java中使用Uploadify插件进行多文件上传的基本步骤。在实际项目中,你可能需要考虑更多的细节,例如错误处理、文件大小限制、文件类型的检查、并发上传的处理等。此外,如果文件数量非常大,...

Global site tag (gtag.js) - Google Analytics