`

spring mvc使用uploadify上传

 
阅读更多

使用的uploadify 3.1 和easyUI

效果图

自己写得uploadify.js

复制代码
function getRootPath(){
    //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
    var curWwwPath=window.document.location.href;
    //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp
    var pathName=window.document.location.pathname;
    var pos=curWwwPath.indexOf(pathName);
    //获取主机地址,如: http://localhost:8083
    var localhostPaht=curWwwPath.substring(0,pos);
    //获取带"/"的项目名,如:/uimcardprj
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    projectName = "/AircrewHealth";
    return(localhostPaht+projectName);
};

$(function(){
    uploadify();
});
var idName="";
function uploadify(){
    $("#file_upload").uploadify({  
        'height'        : 27,   
        'width'         : 80,    
        'buttonText'    : '添加附件',  
        'swf'           : getRootPath()+'/resources/js/uploadify/uploadify.swf?ver=' + Math.random(),  
        'uploader'      : getRootPath()+'/upload.do;jsessionid='+$("#sessionUID").val()+'?method=upload',  
        'auto'          : false, 
        'fileSizeLimit' : '30720KB', 
        'fileTypeExts'  : '*.doc; *.jpg; *.rar', 
        'cancelImg' :  getRootPath()+'/resources/js/uploadify/uploadify-cancel.png',
        'uploadLimit' : 3, 
       // 'formData'      : {'userName':'','content':''},  
        'onUploadStart' : function(file) {
        },  
        'onUploadSuccess':function(file, data, response){  
            //alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data);
             $("#tempFileName").val(file.name);
             $("#"+idName).val(data);
        },  
        'onUploadComplete':function(){  
           // $('#importLispDialog').window('close');  
        }  
    });  
}
function startUpload(name){  
            idName=name;    
         $('#file_upload').uploadify('upload','*');  
}  
复制代码

jsp页面

复制代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>招飞初检</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!-- 公共JS&CSS开始 -->
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/resources/js/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/resources/js/easyui/themes/icon.css">
    <link rel="stylesheet" type="text/css" href='${pageContext.request.contextPath}/resources/css/style/style.css'/>
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/easyui/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/aircrewhealthjs/commonUI.js"></script>
    <!-- 公共JS&CSS结束 -->
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/resources/css/uploadify.css">
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/uploadify/jquery.uploadify-3.1.min.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/uploadify/uploadify.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/json2.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/aircrewhealthjs/physical/physical.js"></script>
</head>
<body>
<input id='sessionUID' value='<%=session.getId()%>' type="hidden"/>
    <table id="nhc01_infoGrid2"></table>
    <div id="nhc01_editInfoDiv2" style="padding: 5px; width: 890px; height: 457px;">
    <fieldset>
    <legend>体检录入</legend>
    <form id="fileUploadForm" name = "fileUploadForm" method="post" action="physical.do?method=physicalInitSave" enctype="multipart/form-data"> 
    <table class="divTable">
    <tr>
    <td>附件名:</td>
    <td><input id="tempFileName" readonly="readonly" class="easyui-validatebox" required="true" style="width:300px;_width:300px; " />
    <input id="personnel" name="personnel" type="hidden"/>
    </td>
    </tr>
    <tr>
    <td>参检人员明细表:</td>
    <td><input type="file" name="uploadify" id="file_upload" /><hr>  
    <a class="easyui-linkbutton" onclick="startUpload('personnel');" href="javascript:void(0);">开始上传</a>   
    <a href="javascript:$('#file_upload').uploadify('cancel', '*')" class="easyui-linkbutton">取消所有上传</a>   
    </td>
    </tr>  
    </table>
    <div id="viewBtn">
    <a class="easyui-linkbutton" icon="icon-ok" onclick="submitFormC()">保存</a>
    <a class="easyui-linkbutton" icon="icon-redo" id="Init_rest"> 重置</a>
    </div>
     </form>
    </fieldset>
    </div>
</body>
</html>
复制代码

applicationContext-mvc.xml 添加

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">        
        <property name="defaultEncoding" value="utf-8"></property>        
    </bean>

action

复制代码
package com.hna.aircrewhealth.upload.action;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.hna.framework.core.Listener.HNAServletContextListener;
import com.hna.framework.core.datasource.DesEncrypt;


@Controller
@RequestMapping("/upload.do")
public class uploadAction {
    @RequestMapping(params = "method=index", method = RequestMethod.GET)
    public String index() {
        return "upload/index";
    }
    @SuppressWarnings("unused")
    @RequestMapping(params = "method=upload", method = RequestMethod.POST)
    public @ResponseBody String upload(HttpServletRequest request, HttpServletResponse response) {
//        request = new MulpartRequestWrapper(request);
        
        String responseStr="";  
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;    
        //获取前台传值  
        String[] userNames = multipartRequest.getParameterValues("userName");  
        String[] contents = multipartRequest.getParameterValues("content");  
        String userName="";  
        String content="";  
        if(userNames!=null){  
            userName=userNames[0];  
        }  
        if(contents!=null){  
            content=contents[0];  
        }  
            Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();    
            //String ctxPath = request.getSession().getServletContext().getRealPath("/")+ "\\" + "images\\";    
//            String ctxPath=request.getSession().getServletContext().getRealPath("/")+"uploads\\"; 
            String ctxPath= HNAServletContextListener.getSYS_UPLOADPATH_PATH();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");  
        String ymd = sdf.format(new Date());  
        ctxPath += ymd + "/";  
        //创建文件夹  
            File file = new File(ctxPath);    
            if (!file.exists()) {    
                file.mkdirs();    
            }    
            String fileName = null;
            String path=null;
            for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {    
                // 上传文件名    
                // System.out.println("key: " + entity.getKey());    
                MultipartFile mf = entity.getValue();    
                fileName = mf.getOriginalFilename();  
               //String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();      
               //SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");  
               // String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;  
                
                String strEnc = DesEncrypt.aircrewhealthGetEncString(fileName);// 加密字符串,返回String的密文
                String uuid = UUID.randomUUID().toString().replaceAll("\\-", "");// 返回一个随机UUID。
                String suffix = fileName.indexOf(".") != -1 ? fileName.substring(fileName.lastIndexOf("."), fileName.length()) : null;

                String newFileName = strEnc + "-" + uuid + (suffix!=null?suffix:"");// 构成新文件名。
                
                
                File uploadFile = new File(ctxPath + newFileName);    
                try {  
                    FileCopyUtils.copy(mf.getBytes(), uploadFile); 
                    path =ctxPath+newFileName;
                responseStr="上传成功";  
            } catch (IOException e) {  
                responseStr="上传失败";  
                e.printStackTrace();  
            }    
            }   
           
            return path;  
    }
}
复制代码

uploadify 文件列表

其他的修改一下路径就可以了

原文链接:http://www.cnblogs.com/W203654/archive/2012/10/18/2728850.html

分享到:
评论

相关推荐

    spring mvc uploadify上传文件

    在本文中,我们将深入探讨如何使用Spring MVC框架与uploadify插件进行文件上传,特别是针对图片的上传。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而uploadify是一款前端JavaScript插件,使得用户...

    spring MVC uploadify

    在本文中,我们将深入探讨如何利用Spring MVC的`multipartResolver`与第三方库uploadify协同工作,实现图片文件的上传和预览功能。 首先,`multipartResolver`是Spring MVC用来解析multipart请求的接口。默认情况下...

    uploadify [解决spring MVC上传配置冲突]

    本项目着重解决如何在Spring MVC框架下配置并使用Uploadify,同时避免与Spring MVC自身的文件上传配置发生冲突。 首先,我们需要理解`Spring MVC`的文件上传机制。Spring MVC通过`MultipartResolver`接口处理多部分...

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

    假设我们使用Spring MVC框架,可以创建一个`@Controller`注解的类,然后定义一个处理文件上传的方法,如`@PostMapping("/uploadHandler")`。在这个方法中,我们使用`MultipartFile`对象来接收文件,如下所示: ```...

    java使用uploadify批量上传文件

    通常,这涉及到Servlet或者Spring MVC的Controller。以下是一个简单的Servlet示例: ```java import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File...

    java 实现uploadIfy上传

    在Java开发中,实现Uploadify上传功能涉及到前端与后端的交互,以及文件处理的相关技术。Uploadify是一款基于JavaScript和Flash的文件上传插件,它允许用户通过直观的界面批量上传文件,同时提供了自定义样式和事件...

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

    由于Uploadify采用多部分/表单数据格式,所以使用Spring MVC或Struts2等框架时,需配置对应的MultipartResolver来解析文件。在控制器方法中,可以使用`@RequestParam("file") MultipartFile file`接收上传的文件,...

    基于struts2+spring+mybatis+uploadify的多文件上传

    【标题】"基于Struts2+Spring+MyBatis+Uploadify的多文件上传"是一个典型的Java Web项目,它利用了这些技术栈来实现高效、交互友好的文件上传功能。Struts2作为MVC框架,负责处理用户请求并协调整个应用的流程;...

    多张图片上传的例子,MVC项目

    在本文中,我们将深入探讨如何在ASP.NET MVC项目中实现多张图片的上传功能,同时利用uploadify控件创建缩略图。这个功能对于许多Web应用程序来说是至关重要的,特别是那些涉及用户上传个人资料图片、产品照片或者...

    Springmvc+uploadify实现文件上传

    5. **后端处理**:在Controller中,你需要编写一个对应于uploadify上传URL的方法,处理接收到的文件。 ### 示例代码 以下是一个简单的Spring MVC Controller示例,用于处理文件上传: ```java @Controller public...

    J2EE spring mvc mybatis bootstrap HTML5 后台框架 控制台 mysql版本_spring3.0

    【源码】mysql版本_spring3.0 系统模块 1....服务器内部GET POST 请求 25.uploadify 上传插件,单条、批量上传,带进度条,异步,图片、视频, 其它文件格式均可上传 26.地图选点获取经纬度坐标,根据俩经纬度计算距离

    uploadify上传及后台文件合法性验证的代码解析

    首先,后台上传方法是通过一个Spring MVC的@RequestMapping注解定义的接口来实现的。该接口接收HTTP POST请求,并处理多部分文件上传。方法首先通过ParameterConstants类获取预设的上传文件路径uploadFilePath,然后...

    jquery-java-ajax-uploadify上传文件

    在后端,如果是Java环境,可以使用诸如Spring MVC或Struts2等框架来接收和处理上传的文件。通常,你需要创建一个Controller方法,接收Multipart请求,然后将文件保存到服务器的指定目录: ```java import org....

    uploadify多文件上传(java版)

    Uploadify是一款广泛使用的JavaScript库,它允许用户在网页上实现多文件上传功能。这个Java版本的实现是将Uploadify与后端服务器的Java环境相结合,为用户提供了一个高效、易用的文件上传解决方案。Uploadify的核心...

    Java实现文件上传的两种方法(uploadify和Spring)

    本篇文章将详细介绍两种在Java中实现文件上传的方法:一种是利用JavaScript库uploadify,另一种是使用Spring框架。 一、Uploadify Uploadify是一款基于jQuery的文件上传插件,它允许用户在不刷新页面的情况下进行...

    uploadify的简单案例

    在Spring MVC框架中集成Uploadify,可以构建高效、友好的文件上传系统。下面我们将详细介绍如何在Spring MVC项目中实现Uploadify的简单案例。 首先,我们需要在HTML页面上引入Uploadify的相关资源,包括JavaScript...

    Uploadify jar包及使用实例

    在Java中,我们通常使用Servlet或Spring MVC来接收和处理这些请求。以下是一个简单的Servlet示例: ```java import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; ...

    uploadify struts2实现图片上传

    本篇文章将深入探讨如何使用uploadify这款jQuery插件与Struts2框架结合,实现图片的上传功能。 首先,uploadify是一款强大的前端文件上传插件,它基于JavaScript库jQuery,提供了丰富的自定义选项和友好的用户界面...

    Jquery Uploadify 批量上传(java)

    在标题中提到的"Java"部分,表明Uploadify上传的文件需要在Java后台进行处理。在Java环境中,你可以使用Spring MVC、Struts2或者其他MVC框架来接收上传的文件。通常,你需要创建一个Controller方法,接收multipart/...

    Blog.rar_Uploadify_java jquery uploadfy_java 批量上传_uploadify java

    开发者可能使用了Servlet或Spring MVC等框架来构建这部分功能。 以下是本项目涉及的关键知识点: 1. **jQuery**:一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。在Uploadify中,...

Global site tag (gtag.js) - Google Analytics