spring定时任务-文件上传进度条

spring定时任务

导依赖

    <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.3</version>
    </dependency>

配置定时任务类

    package com.atguigu.scw.portal.service;

    import org.springframework.stereotype.Service;

    @Service
    public class ExampleJob {

        public void hello() {
            System.out.println("定时任务触发===========>");
        }

    }

配置定时任务

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

        <!-- <bean id="exampleJob"
            class="com.atguigu.scw.portal.service.ExampleJob"></bean> -->

        <!--配置定时任务触发类和方法  -->
        <bean id="jobDetail"
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject" ref="exampleJob" />
            <property name="targetMethod" value="hello" />
        </bean>

        <!--配置触发器,指定何时触发 -->
        <bean id="cronTrigger"
            class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <property name="jobDetail" ref="jobDetail" />
            <!-- run every morning at 6 AM -->
            <property name="cronExpression" value="*/5 * * * * ?" />
        </bean>

        <!--配置定时任务调用哪一个触发器  -->
        <bean
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="triggers">
                <list>
                    <ref bean="cronTrigger" />
                </list>
            </property>
        </bean>
    </beans>

cron表达式使用

每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

参考

https://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#scheduling-quartz

文件上传进度条

ajax异步提交表单$("#subBtn").on(‘click‘, function() { return false}是js对象的机制

<button type="submit" id=‘subBtn‘ class="btn btn-default">Submit</button>点击按钮直接提交是浏览器的机制

文件上传

表单直接提交action=‘${ctp}/member/upload‘ method=‘post‘ enctype="multipart/form-data"

    <form action='${ctp}/member/upload' method='post' enctype="multipart/form-data">
        <div class="form-group">
            <input type="file" class="form-control" id="file" name='file'>
        </div>
        <div class="progress">
            <div class="progress-bar" role="progressbar" aria-valuenow="60"
                aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
                60%</div>
        </div>
        <button type="submit" id='subBtn' class="btn btn-default">Submit</button>
    </form>

ajax提交type : "post",contentType : false,processData : false

进度条:获取myXhr = $.ajaxSettings.xhr()对象并返回

    <form id='submitForm'>
        <div class="form-group">
            <input type="file" class="form-control" id="file" name='file'>
        </div>
        <div class="progress" style='display: none;'>
            <div class="progress-bar" role="progressbar" aria-valuenow="0"
                aria-valuemin="0" aria-valuemax="100" style="width: 0%;">0%</div>
        </div>
        <button type="submit" id='subBtn' class="btn btn-default">Submit</button>
    </form>

    <script type="text/javascript">
        $("#subBtn").on('click', function() {
            var fd = new FormData($("#submitForm")[0]);
            $.ajax({
                url : "${ctp}/member/upload",
                data : fd,
                type : "post",
                contentType : false,
                processData : false,
                //获取ajaxSettings中的xhr对象,为它的upload属性绑定progress事件的处理函数
                xhr : function() {
                    myXhr = $.ajaxSettings.xhr()
                    //检查upload属性是否存在
                    if (myXhr.upload) {
                        //绑定progress事件的回调函数
                        myXhr.upload.addEventListener('progress',
                                progressHandlingFunction, false)
                    }
                    //xhr对象返回给jQuery使用
                    return myXhr;
                },
                success : function(result) {
                    console.log("result==========>", result)
                },
                error : function(e) {
                    console.log('e=========>', e)
                }
            })
            return false
        })
        var progressHandlingFunction = function(e) {
            var curr = e.loaded
            var total = e.total
            process = curr / total * 100
            console.log('上传进度============>', process)
            $('.progress').attr('style', 'display:show;')
            $('.progress-bar').html(process + '%')
            $('.progress-bar').attr('style', 'width:' + process + '%;')

        }
    </script>

图片预览

    $("#ad_file_input").on('change', function(event) {
        $(this).empty()
        $(this).parent('.form-group').next('.form-group').find('.imgdiv').empty()

        fileList = event.currentTarget.files
        log('fileList==============>', fileList)

        var URL = window.URL || window.webkitURL
        var imgURL
        //遍历上传的文件进行显示
        $.each(fileList, function (index, item) {
            //创建一个临时的url地址
           imgURL = URL.createObjectURL(item)
           log('this=========>',this)
           log('item==========>',item)
           $('#ad_file_input').parent(".form-group").next(".form-group").find(".imgdiv").append("<img src='"+imgURL+"' style='width:200px;height:220px;'/>").append('<p>'+item.name+'<p>')
        })
    })

原文地址:https://www.cnblogs.com/lisingshen/p/11600651.html

时间: 2024-04-26 10:24:01

spring定时任务-文件上传进度条的相关文章

基于HT for Web矢量实现HTML5文件上传进度条

在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件上传进度条,矢量在<矢量Chart图表嵌入HTML5网络拓扑图的应用>一文中已经讲述了关于setCompType()方法的应用,今天我们用setImage()方法充分利用系统中定义好的矢量资源来实现文件上传进度条,我们先来看下效果图: 从效果图可以看到,向服务器上传了一个mp4文件,并在最下方显示

Struts2 文件上传 进度条显示

参考成功博客:http://blog.sina.com.cn/s/blog_bca9d7e80101bkko.html 待测试博客:http://blog.csdn.net/z69183787/article/details/52536255 Struts2 文件上传 进度条显示

JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等

原文:JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等 源代码下载地址:http://www.zuidaima.com/share/1550463319542784.htm JQuery和Servlet实现文件上传进度条,能显示上传速度,上传的百分比等

Layui多文件上传进度条

Layui原生upload模块不支持文件上传进度条显示,百度,谷歌找了一下不太适用.后面找到一个别人修改好的JS,替换上去,修改一下页面显示即可使用,一下是部分代码 HTML: <div class="layui-upload"> <button type="button" class="layui-btn layui-btn-normal" id="fileList">选择多文件</button

struts2实现文件上传进度条(前端JS+Java)(自我整理)

需要做一个文件上传进度的效果,结合网上资料和自己的实践后,这里做一个整理 步骤如下: 1.重写.自定义JakartaMultiPartRequest类 <span style="font-size:12px;">package com.hikvision.fileUploadProcess.interceptor; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import

ajax文件上传进度条

写在前面: 思路:首先将表单提交servlet,servlet中做文件上传处理,上传的参数封装成对象存入session中,提交到的页面为隐藏的iframe窗口.然后使用ajax异步请求获取session中的对象,并将对象转换成json对象输出出来.当对象状态为上传完成或操作异常时将session中对应的属性清除掉.异步操作的回调函数可以使用var jinduStatus = eval("("+xmlHttp.responseText+")") 的方法将json转换为

实现一个简单的文件上传进度条

新手入门web 文件上传完成 取得的进展 没有进度条只能用文字 不好看  必须是一个进度条  没有艺术 互联网很 进度条 需要图片 有多种帧的 他看上去好麻烦 让自己的单纯 很简单 我没想到这么复杂  共享 jsp页面 <tr> <td width="100">图片</td> <td> <div style="width: 450px;"> <div class="file-box"

使用html5实现文件上传进度条

html <div id="file"> <input type="file" name="ver" id="ver"/> <font color="red">*(apk,ipa目前为自动重命名)</font><br /> <div class="progress"><span class="bgpr

layui文件上传进度条(模拟)

1.修改上传组件js(没测) https://blog.csdn.net/weixin_42457316/article/details/81017471 https://www.cnblogs.com/youmingkuang/p/9183528.html https://fly.layui.com/jie/19430/ 1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 v