zoukankan      html  css  js  c++  java
  • uploadify前台上传文件,java后台处理的例子

    1、先创建一个简单的web项目upload (如图1-1)

    2、插件的准备

    (1)、去uploadify的官网下载一个uploadify插件,然后解压新建个js文件夹放进去(这个不强求,只要路径对了就可以)

    (2)、准备所需要的后端处理上传文件的jar包:commons-fileupload-1.2.1.jar

    3、新建一个JSP即index.jsp +servlet即UploadServlet.java

         图1-1

    4、花几分钟对这些简单的配置完成后就可以看看index.jsp与UoloadServlet.java

    (1)index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<base href="<%=basePath%>">
    		<title>My JSP 'index.jsp' starting page</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">
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<link rel="stylesheet" type="text/css" href="css/uploadify.css">
    		<script src="<%=basePath%>js/uploadify/jquery-1.4.2.min.js"></script>
    		<script src="<%=basePath%>js/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
    		<script src="<%=basePath%>js/uploadify/swfobject.js"></script>
    	</head>
    	<body>
    		This is my JSP page.
    		<br>
    		<table class="stable tp0" cellSpacing="0" cellPadding="0" border="0">
                <tr>
                    <td width="15%" align="left" colspan="4" style="padding-left: 158px">
     
                        <input type="hidden" id="fileSize" value="0" />
     
                        <div id="custom-queue"></div> 附件:<input id="uploadify" type="file"
                        name="Filedata" />
                    </td>
                </tr>
            </table>
    	</body>
    	<script type="text/javascript">
      $(document).ready(function(){
      
          $(document).ready(function () {
                $("#uploadify").uploadify({
                    'uploader': '<%=basePath%>js/uploadify/uploadify.swf',
                    'script': '<%=basePath%>servlet/UploadServlet',
                    'cancelImg': '<%=basePath%>js/uploadify/cancel.png',
                    'folder': 'upload',
                    'queueID' : 'custom-queue',
                    'auto':true,
                    'multi':true,
                    'fileDataName':'Filedata',
                     'onCancel' : function(file) {  
                    },
                    'onUploadError' : function(file, errorCode, errorMsg, errorString) {  
                        alert(456);  
                    }
                });
            });
      });
    
      </script>
    </html>
    

    (2).UoloadServlet.java

    package coms;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
    import java.util.UUID;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    
    public class UploadServlet extends HttpServlet {
    
        @Override
        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
            String savePath = this.getServletConfig().getServletContext()
                    .getRealPath("");
            //保存文件的路径
            savePath = savePath + "/upload/";
            File f1 = new File(savePath);
            System.out.println(savePath);
            //如果文件不存在,就新建一个
            if (!f1.exists()) {
                f1.mkdirs();
            }
            //这个是文件上传需要的类,具体去百度看看,现在只管使用就好
            DiskFileItemFactory fac = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(fac);
            upload.setHeaderEncoding("utf-8");
            List fileList = null;
            try {
                fileList = upload.parseRequest(request);
            } catch (FileUploadException ex) {
                return;
            }
            //迭代器,搜索前端发送过来的文件
            Iterator<FileItem> it = fileList.iterator();
            String name = "";
            String extName = "";
            while (it.hasNext()) {
                FileItem item = it.next();
                //判断该表单项是否是普通类型
                if (!item.isFormField()) {
                    name = item.getName();
                    long size = item.getSize();
                    String type = item.getContentType();
                    System.out.println(size + " " + type);
                    if (name == null || name.trim().equals("")) {
                        continue;
                    }
                    // 扩展名格式: extName就是文件的后缀,例如 .txt
                    if (name.lastIndexOf(".") >= 0) {
                        extName = name.substring(name.lastIndexOf("."));
                    }
                    File file = null;
                    do {
                        // 生成文件名:
                        name = UUID.randomUUID().toString();
                        file = new File(savePath + name + extName);
                    } while (file.exists());
                    File saveFile = new File(savePath + name + extName);
                    try {
                        item.write(saveFile);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            response.getWriter().print(name + extName);
        }
    
    }

    对于jsp与java没有好好说明,如果不懂可以私聊我,其实花了很多个小时才使用这个uploadify,主要是因为以为上传只要uploadify插件就可以,原来还需要:commons-fileupload-1.2.1.jar ,我是一个喜欢分享的人,希望每个人有能力都能写写博客,让更多人好好学习,觉得不错就点一下推荐,让更多人快速掌握。

    5.鼓励:觉得写得有帮助就支付宝扫一下吧,对你没有损失,也给我动力

  • 相关阅读:
    调试
    自定义缓冲函数
    缓冲
    如何控制动画
    开发中遇到过的坑
    动画控制属性
    自定义动画
    CATransition(过渡)
    动画基础(显式动画)
    呈现图层
  • 原文地址:https://www.cnblogs.com/imfjj/p/5811342.html
Copyright © 2011-2022 走看看