美文网首页
文件上传 WebUploader

文件上传 WebUploader

作者: wanggs | 来源:发表于2018-06-09 23:21 被阅读0次

WebUpload

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="/static/js/webuploader/webuploader.css">
    <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>

<div id="picker">选择文件</div> <button id="startBtn">开始上传</button>
<ul id="fileList"></ul>


<script src="/static/js/jquery-1.11.3.min.js"></script>
<script src="/static/js/webuploader/webuploader.min.js"></script>
<script type="text/template" id="bar">
    <div class="progress">
        <div class="progress-bar" id="{{id}}" style="width: 0%;">
            <span class="sr-only"></span>
        </div>
    </div>
</script>
<script>
    $(function(){

        var uploder = WebUploader.create({
            swf:"/static/js/webuploader/Uploader.swf",
            server:"/upload",
            pick:"#picker",
            fileVal:"file",
            auto:true
        });
        //选择文件放入上传队列,调用一次
        uploder.on("fileQueued",function(file){
            var html = "<li id='"+file.id+"'>"+file.name+"</li>";
            $("#fileList").append($(html));
        });
        //文件上传进度,上传过程中调用多次
        uploder.on("uploadProgress",function(file,percentage){
            var num = parseInt(percentage * 100);
            var $bar = $("#"+file.id).find("#bar_"+file.id);

            if(!$bar[0]) {
                var template = $("#bar").html();
                template = template.replace("{{id}}","bar_"+file.id);
                $("#"+file.id).append($(template));
            } else {
                $bar.css("width",num+"%");
            }
        });
        //文件上传成功
        uploder.on("uploadSuccess",function(file,data){
            $("#"+file.id).css("color","green");
            console.log(data.state);
        });
        //文件上传失败
        uploder.on("uploadError",function(file){
            $("#"+file.id).css("color","darkred");
        });
        //文件上传成功或失败均调用
        uploder.on("uploadComplete",function(file){
            $("#"+file.id).find("#bar_"+file.id).parent().remove();
        });

        $("#startBtn").click(function(){
            uploder.upload();
        });


    });
</script>
</body>
</html>

servlet

package com.kaishengit.web;


@WebServlet("/qiniu")
public class QiniuServlet extends BaseServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String ak = "G3jWeQ4OOxUwAQJumftrS_jcAej9uBQLn1-oCoHD";
        String sk = "fmiPh7SZ_UvRWRsntAihdOS67Pin9jeeNYR3aRBv";
        String bucketName = "demo22";

        Auth auth = Auth.create(ak,sk);
        //计算上传文件的Token
        StringMap map = new StringMap();
        map.put("returnUrl","http://localhost:8080/qiniucallback");

        String token = auth.uploadToken(bucketName,null,3600,map);

        req.setAttribute("token",token);
        req.getRequestDispatcher("qiniu.jsp").forward(req,resp);

    }
}



WebUploader 和 七牛云 整合

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="/static/js/webuploader/webuploader.css">
</head>
<body>

<div id="picker">选择文件</div>
<div id="result"></div>


<script src="/static/js/jquery-1.11.3.min.js"></script>
<script src="/static/js/webuploader/webuploader.min.js"></script>
<script>
    $(function(){
        var upload = WebUploader.create({
            swf:"/static/js/webuploader/Uploader.swf",
            server:"http://up-z1.qiniu.com/",
            fileVal:"file",
            formData:{"token":"${token}","x:uid":"${id}"},
            pick:"#picker",
            auto:true
        });

        upload.on("uploadSuccess",function(file,data){
            var img = $("#result").find("img");
            if(img[0]) {
                img.remove();
            }

            var url = "http://ohwnpkfcx.bkt.clouddn.com/" + data.key + "?imageView2/1/w/150/h/150";
            $("<img>").attr("src",url).addClass("img-circle").appendTo($("#result"));

            alert(data["x:uid"]);
            //session  {hash:"",key:"",x:id:123}
            // $.post("/updateavatar",{"id":data[x:id],"key":data.key}).done().error();
        });
        upload.on("uploadError",function(file){
            alert("上传错误");
        });
    });
</script>
</body>
</html>

servlet

package com.kaishengit.web;

@WebServlet("/qiniu2")
public class QiniuServlet2 extends BaseServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String ak = "inOypU6O-rKyxyN22Z7Cq1uHMdc4YmhjE1GfJh7L";
        String sk = "l342cQNqBu2GSVUmhz_2by7yBPKJ7foeDH_0tN5r";
        String bucketName = "demo22";

        Auth auth = Auth.create(ak,sk);

        //获取Session中的对象
       /* HttpSession session = req.getSession();
        User user = (User) session.getAttribute("user");
        int id = user.getId();*/


        String token = auth.uploadToken(bucketName);

        req.setAttribute("id",11223);
        req.setAttribute("token",token);
        req.getRequestDispatcher("uploer_qiniu.jsp").forward(req,resp);


    }
}

文本编辑器

simditor
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="/static/js/simditor/styles/simditor.css">
</head>
<body>

    <div class="container">
        <form action="/send" method="post">
            <textarea id="editor" name="message" autofocus></textarea>
            <button class="btn btn-primary">发布</button>
        </form>
    </div>
    <script src="/static/js/jquery-1.11.3.min.js"></script>
    <script src="/static/js/simditor/scripts/module.min.js"></script>
    <script src="/static/js/simditor/scripts/hotkeys.min.js"></script>
    <script src="/static/js/simditor/scripts/uploader.min.js"></script>
    <script src="/static/js/simditor/scripts/simditor.min.js"></script>
    <script>
        $(function(){
            var edit = new Simditor({
                textarea:$("#editor"),
                placeholder:"balabala",
                toolbar:true,
                upload:{
                    url:"http://up-z1.qiniu.com/",
                    fileKey:"file",
                    params:{"token":"${token}"}
                }
            });
        });
    </script>
</body>
</html>

servlet

package com.kaishengit.web;


@WebServlet("/wysiwyg")
public class WysiwygServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String ak = "inOypU6O-rKyxyN22Z7Cq1uHMdc4YmhjE1GfJh7L";
        String sk = "l342cQNqBu2GSVUmhz_2by7yBPKJ7foeDH_0tN5r";
        String bucketName = "demo22";

        Auth auth = Auth.create(ak,sk);

        String returnBody = "{\"success\":true,\"file_path\":\"http://ohwnpkfcx.bkt.clouddn.com/${key}\"}";

        StringMap map = new StringMap();
        map.put("returnBody",returnBody);

        String token = auth.uploadToken(bucketName,null,3600,map);

        req.setAttribute("token",token);
        req.getRequestDispatcher("wysiwyg.jsp").forward(req,resp);



    }
}

相关文章

网友评论

      本文标题:文件上传 WebUploader

      本文链接:https://www.haomeiwen.com/subject/ljixeftx.html