博客
关于我
java文件上传带进度条_java文件上传带进度条的
阅读量:805 次
发布时间:2023-01-24

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

file upload controller class for handle multipart file upload requestcom.controller.FileUploadControllerclass FileUploadController implements file upload functionality with progress trackinglog = logger.getLogger(FileUploadController.class)upload method implementation@Controller@RequestMapping("/upload.html")public ModelAndView upload(HttpServletRequest request, HttpServletResponse response) throws Exception {create session instancesession = request.getSession()modelAndView = new ModelAndView()check if request is multipartisMultipart = ServletFileUpload.isMultipartContent(request)if (!isMultipart) {    return modelAndView;}create disk file item factoryFileItemFactory factory = new DiskFileItemFactory();initialize file upload serviceuploadService = new ServletFileUpload(factory);set progress listeneruploadService.setProgressListener(new ProgressListener() {    // progress updating logic    public void update(long bytesRead, long contentLength, int items) {        ProcessInfo info = new ProcessInfo();        info.itemNum = items;        info.readSize = bytesRead;        info.totalSize = contentLength;        info.show = String.format("%d/%d byte", bytesRead, contentLength);        info.rate = (int)(Math.round((float)bytesRead / contentLength * 100));        session.setAttribute("processInfo", info);    }});parse requestitems = uploadService.parseRequest(request)process uploaded itemsforeach (item in items) {    if (item is form field) {        // handle common form fields    } else {        // handle file upload fields        String fileName = item.getName();        String contentType = item.getContentType();        File uploadedFile = new File(("c://" + fileName));        item.write(uploadedFile);    }}return modelAndView}process method for getting progress info@RequestMapping("/process.json", method=RequestMethod.GET)@ResponseBodypublic Object process(HttpServletRequest request, HttpServletResponse response) throws Exception {    return session.getAttribute("processInfo");}class ProcessInfo {    // properties and fields}

转载地址:http://dmeyk.baihongyu.com/

你可能感兴趣的文章
mysql创建数据库和用户 并授权
查看>>
mysql创建数据库指定字符集
查看>>
MySql创建数据表
查看>>
MySQL创建新用户以及ERROR 1396 (HY000)问题解决
查看>>
MySQL创建用户与授权
查看>>
MySQL创建用户报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'slave'@'%'
查看>>
MySQL创建索引时提示“Specified key was too long; max key length is 767 bytes”
查看>>
mysql初始密码错误问题
查看>>
Mysql删除重复数据通用SQL
查看>>
mysql判断某一张表是否存在的sql语句以及方法
查看>>
mysql加入安装策略_一键安装mysql5.7及密码策略修改方法
查看>>
mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限
查看>>
mysql加强(3)~分组(统计)查询
查看>>
mysql加强(4)~多表查询:笛卡尔积、消除笛卡尔积操作(等值、非等值连接),内连接(隐式连接、显示连接)、外连接、自连接
查看>>
mysql加强(5)~DML 增删改操作和 DQL 查询操作
查看>>
mysql加强(6)~子查询简单介绍、子查询分类
查看>>
mysql加强(7)~事务、事务并发、解决事务并发的方法
查看>>
MySQL千万级多表关联SQL语句调优
查看>>
mysql千万级大数据SQL查询优化
查看>>
MySQL千万级大表优化策略
查看>>