zoukankan      html  css  js  c++  java
  • Js异步上传加进度条

    http://www.ruanyifeng.com/blog/2012/09/xmlhttprequest_level_2.html

    http://www.cnblogs.com/yuanlong1012/p/5127497.html

    https://front-js.cc/test/fileupload/

    http://www.ruanyifeng.com/blog/2012/08/file_upload.html

    1.客户端 upload.cshtml

    <!doctype html>
    <html>
    <head>
    
        <script src="~/Scripts/jquery-1.10.2.min.js"></script>
        <script>
            $(function () {
                $('#btn').on('click', function () {
                    var files = $('#file').get(0).files;
                    var len = (files.length);
                    if (len > 0) {
                        console.log(files[0]);
                        if (window.FormData) {
                            var formData = new FormData();
                            // 建立一个upload表单项,值为上传的文件
                            formData.append('upload', files[0]);
                            var xhr = new XMLHttpRequest();
                            xhr.open('POST', '/Home/UploadFile');
                            // 定义上传完成后的回调函数
                            xhr.onload = function () {
                                if (xhr.status === 200) {
                                    console.log('上传成功');
                                } else {
                                    console.log('出错了');
                                }
                            };
                            xhr.upload.onprogress = function (event) {
                                if (event.lengthComputable) {
                                    var complete = (event.loaded / event.total * 100 | 0);
                                    var progress = document.getElementById('uploadprogress');
                                    progress.value = progress.innerHTML = complete;
                                }
                            };
                            xhr.send(formData);
                        }
                    }
    
                });
            });
        </script>
    </head>
    <body>
        <input id='file' type='file' />
        <button id='btn'>clickme</button>
        <progress id="uploadprogress" min="0" max="100" value="0">0</progress>
    </body>
    </html>
    

      2.服务端代码

            /// <summary>
            /// 上传文件
            /// </summary>
            /// <returns></returns>
            public ActionResult UploadFile()
            {
                if (Request.Files.Count > 0)
                {
                    Request.Files[0].SaveAs( AppDomain.CurrentDomain.BaseDirectory+"\upload\" + Guid.NewGuid().ToString() );
                }
    
                return View();
            }
            /// <summary>
            /// 上传页面
            /// </summary>
            /// <returns></returns>
            public ActionResult Upload()
            {
    
                return View("Upload");
            }
  • 相关阅读:
    深度学习中常见问题
    freespace
    跑superpixel的程序
    python处理图片的一些操作
    跑edgebox
    tensorflow安装
    matlab启动
    stixel 理解
    stixel-world跑在kitti数据集
    小议中国人的乡土情结
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/6070637.html
Copyright © 2011-2022 走看看