
文件上传进度条
发布日期: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; }}
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月08日 01时47分05秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一款好看新颖的404页面源码
2019-03-14
创意沙雕黑色蝙蝠侠/小丑动态404页面源码
2019-03-14
使用Mac OS X如何开启和配置防火墙
2019-03-14
格式化Mac硬盘---DoYourData Super Eraser安全、快速
2019-03-14
MacOS磁盘分区出错的解决办法
2019-03-14
MacOS 应对系统无响应的方法
2019-03-14
Mac隐藏辅助功能|自定义苹果Mac显示器
2019-03-14
ActivityNotFoundException异常错误
2019-03-14
git远程仓库切换
2019-03-14
带照片捕捉功能的ESP32-CAM PIR运动检测器
2019-03-15
如何使用SSH远程管理Linux服务器
2019-03-15
降级到旧版本macOS的3种方法
2019-03-15
学习Vue.js2.0(国外视频教程)
2019-03-15
wxPython和PyOpenGL视频
2019-03-15
在30分钟内学习PHP
2019-03-15
OpenStack 最小化安装配置(一):物理机网桥配置
2019-03-15
PS快速美白照片
2019-03-15
ubuntu 16.04 镜像下载
2019-03-15
CUDA9.1、cuDNN7在Ubuntu16.04上的安装
2019-03-15