文件上传进度条
发布日期:2021-05-20 15:07:29 浏览次数:21 分类:博客文章

本文共 3407 字,大约阅读时间需要 11 分钟。

java高级架构师全套vip教学视频,需要的加我qq1197852132

文件上传主要步骤:1.获得上传文件的总长度。

         2.设置读取文件的大小。

                         3.利用读取的文件总和除文件总长度,将结果存到session中。

进度条读取主要步骤:1.利用定时器每多少毫秒调取一个方法。

            2.取出session中的结果,返回给前台显示。

总的来时进度条就是利用两个ajax一个上传文件,一个获得进度。

jsp代码如下:

进度条样式:http://www.jq22.com/jquery-info2385

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="com.jit.platform.login.bean.*" %><%@ page import="com.jit.platform.login.util.*" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";UserBean user = (UserBean)session.getAttribute(CommonConstant.USERNAME);String _theme = CommonConstant.DEFAULT;if(null != user){    _theme = user.getTheme();}%>

后台代码

package com.jit.el.elManage.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller@RequestMapping(value = "/FileUpload")public class FileUploadController {    Logger log = Logger.getLogger(FileUploadController.class);        /**     * upload  上传文件     * @param request     * @param response     * @return     * @throws Exception     */     @RequestMapping(value = "/upload")          public void upload(HttpServletRequest request,                  HttpServletResponse response) throws Exception {              File file = new File("D:\\123.wmv");            FileInputStream fis = new FileInputStream(file);            FileOutputStream fos = new FileOutputStream("D:\\1234567.wmv");            byte[] buf = new byte[500];            int size = 0;            int num = 0;            while((size = fis.read(buf))>-1){//循环读取                fos.write(buf, 0, size);                num+=size;                String a = String.valueOf( num/48860068.0*100).substring(0, 5)+"%";                if(a.equals("100.0%")){                    a="100%";                }                HttpSession session = request.getSession();                 session.setAttribute("jd",a);            }            fos.flush();            fos.close();            fis.close();        }         /**     * process 获取进度     * @param request     * @param response     * @return     * @throws Exception     */    @RequestMapping(value = "/process")    @ResponseBody    public String process(HttpServletRequest request,            HttpServletResponse response) throws Exception {        HttpSession session = request.getSession();        String attribute = (String) session.getAttribute("jd");        session.setAttribute("jd", "0%");//        session.removeAttribute("jd");        System.err.println(attribute);        return attribute;    }}

 

上一篇:pdf转图片(qq:1197852132)
下一篇:将jsp页面转化为图片或pdf升级版(二)(qq:1197852132)

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月08日 01时47分05秒