zoukankan      html  css  js  c++  java
  • ajaxfileupload-上传文件示例

    1.引用文件 ajaxfileupload.js

    @{
        ViewBag.Title = "数据导入";
        Layout = "~/Views/Shared/_IndexLayout.cshtml";
    }
    <!--单个文件-->
    <script src="~/Content/scripts/uploadify/ajaxfileupload.js"></script>
    
    <script>
        var loadingstatus = "";
      
        var tmpkey = request('tmpkey'); //这里特别约定为了简约处理模板的key对应的解析方法名称和模板key一致
        var keyvalue = request('keyvalue'); 
        $(function () {
            var url = '../../Master/ImportTemplate/DownloadTmp?tmpKey=' + tmpkey;
            $('#lr-import').attr('href', url);
            $('#uploadFile').bind("change", function (e) {
                //btn_importdata();
            });
    
      //  beginCount();
        });
    
        var timeID;
    
        function btn_importdata() {
            $('#msg').html("");
            var path = $("#uploadFile").val();
            if (!path) {
                dialogMsg("请选择要上传的文件!", 0);
                return;
            }
            loadingstatus = "loading";
            $('#msg').append("<br>执行中,这可能需要一些时间,请耐心等待....</br>");
            $('#msg').append("<br>如果检测到有错误的请您按照提示排查处理后重新导入....</br>");
            $.ajaxFileUpload({
                url: "../../CVRM/ImportExcel/ImportData?key=" + keyvalue + "&funName=" + tmpkey,
                secureuri: false,
                fileElementId: 'uploadFile',
                dataType: 'json',
                success: function (data) {
                    if (data.status) {
                        var result = data.msg;
                        $('#msg').append(result);
                    }
                    else {
                         
                        dialogMsg(data.message, 0);
                    }
                }
                
            });
        }
    
        function btn_close() {
            dialogClose();
        }
    
        function beginCount() {
        timeID = setInterval("getMsg()", 2000);
        }
        function stopCount() {
            clearInterval(timeID);
        }
        function getMsg() {
            if (loadingstatus == "loading") {
                $.ajax({
                    url: "../../CVRM/ImportExcel/GetImportMsg",
                    dataType: "json",
                    async: true,
                    type: 'GET',
                    success: function (data) {
                        console.log(data);
                        if (data.errorcode==0) {
                            $('#msg').append(data.message);
                            if (data.message=="stop") {
                                stopCount();
                            }
                        } else {
                            stopCount();
                        }
                        
                    }
                })
            }
        
        }
    
        
    </script>
    <form id="form1" style="margin-left: 1px; margin-right: 1px;">
        <div class="formHead">
            <div class="mcp_container">
                <div class="col-xs-8 mcp-form-item" style="padding-left:5px;">
                    <input id="uploadFile" name="uploadFile" type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
                </div>
                <div class="col-xs-4 mcp-form-item">
                    <div class="btn-group">
                        <a id="lr-choose" class="btn btn-default" onclick="btn_importdata()"><i class="fa fa-sign-in"></i>&nbsp;开始导入</a>
                        <a id="lr-import" class="btn btn-default" >  <i class="fa fa-download"></i>&nbsp;下载模板</a>
                    </div>
                </div>
                <div  id="msg">
                  
                </div>
    
            </div>
     
        </div>
     
    
    </form>
     

    3.后台接收

       public ActionResult ImportData(string key,string funName="")
            {
                try
                {
                    HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
    
                    if (files != null && files.Count > 0 && files[0].ContentLength > 0 && !string.IsNullOrEmpty(files[0].FileName))
                    {
                        string path = AppDomain.CurrentDomain.BaseDirectory + @"Upload	emp";
                        DirectoryInfo dir = new DirectoryInfo(path);
                        if (!dir.Exists)
                        {
                            dir.Create();
                        }
                        string filename = Path.GetFileName(files[0].FileName);
                        if (!string.IsNullOrEmpty(filename))
                        {
    
                            var keyValue = Guid.NewGuid().ToString();
                            string FileEextension = Path.GetExtension(files[0].FileName);
                            filename = keyValue + FileEextension;
                            string Fullfilename = Path.Combine(path, filename);
                            files[0].SaveAs(Fullfilename); //保存服务器
    
                            //写入数据库
                            ImportExcelBiz importBiz = new ImportExcelBiz();
                            ImportExcelResultEntity result = importBiz.ImportData(key, funName, Fullfilename);
                             
                            //用完即删
                            if (System.IO.File.Exists(Fullfilename))
                            {
                                //如果存在则删除
                                System.IO.File.Delete(Fullfilename);
                            }
     
                            return new ReponseModel { status = true, msg = result.Msg };
                        }
                        else
                        {
                            return Error("没有发现您上传的文件名,可能是浏览器兼容问题,请您换个浏览器试试! 详情: files[0].FileName  filename为null");
                        }
    
                    }
                    else
                    {
                        return HttpNotFound("没有发现您要上传的文件!");
                    }
    
                }
                catch (Exception ex)
                {
                    return Error("导入excel到报价中出现了异常 详情:"+ex.Message);
                }
              
              
               
         
            }
    
        }
    

      

  • 相关阅读:
    解决异常:“The last packet sent successfully to the server was 0 milliseconds ago. ”的办法
    关于时间复杂度
    关于如何在MyEclipse下修改项目名包名,以及类
    Error filterStart
    类A是公共的,应在名为A.java的文件中声明错误
    Eclipse快捷键大全
    JVM 是用什么语言写的?
    退出cmd命令
    Java 如何对文件进行多个Object对象流的读写操作
    SublimeText2 快捷键一览表
  • 原文地址:https://www.cnblogs.com/benbenfishfish/p/8675161.html
Copyright © 2011-2022 走看看