js教程

AjaxFileUpload文件上传示例代码

我的站长站 2023-03-07 人阅读

AJAXFileUpload下载地址:https://GitHub.com/carlcarl/ajaxFileUpload

前台引用文件 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>

后台接收

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\temp\";
                 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);
         }
        
        
         
   
     }
 
 }
相关推荐
  • js代码
  • 大文件上传
  • ajaxFileUpload
  • js指定时间定时自动执行代码分享

    示例代码用的`setTimeout()`函数,在指定的时间后执行。代码非常的简单,获取当前时间和设定一个指定时间,指定时间减去当前时间就是定时的时间,如果定时器到期时等于0,就代表时间到了,就运行executeAtTime函数的方法。function executeAtTime() { console....

    js教程 38 3个月前
  • JS代码解除网页右键限制

    JS解除右键限制方法一javascript:(function () {function R(a) {ona = "on" + a;if (window.addEventListener){window.addEventListener(a, function (e) {for (var n = e.originalTarget; n; n = n.parentNode){n[ona] = null;}}, true);}window[o...

    js教程 158 3年前
  • 淘宝买家秀API+ajax代码

    淘宝买家秀API+ajax代码,用的是这个API,https://api.66mz8.com/api/rand.tbimg.php?format=jsonJSON返回格式,测试依旧可用。$(function(){ $.get('https://api.66mz8.com/api/rand.tbimg.php?format=json',function(data){ document.getElementB...

    js教程 698 3年前
  • php+ajax大文件分片上传示例代码

    代码思路PHP在上传超大的文件时,不能只让后端PHP上传,会容易上传到一半内测益处失效。需要前端要和后端相互配合一起来处理,文件上传要使用ajax的方法,而不是form的submit的方式。前端把file文件对象按一定的大小分割成一定大小的文件(如按2M或5M来分割),对...

    php教程 39 1年前
  • 宝塔面板环境上传大文件失败配置方法

    宝塔面板环境上传100M大小的文件,在上总是报错,但是在本地可以正常上传。上传小一点的文件,就不报错。代码和nginx和php的配置文件都设置了150M,超时时间也设置了,应该没啥问题。但就是报错。百度好久,网上说的答案都试了,没效果。解决方法1、fread()的方法...

    宝塔面板 163 1年前
  • php上传大文件必备配置方法

    项目要求如果你的项目需要用到大文件上传或下载功能,就必须首先修改PHP的配置才行,否则上传或下载操作就会超时,操作失败。操作步骤打开php配置文件php.ini,首先找到; file uploads ;区域,有影响文件上传的以下几个参数:file_uploads = on ;//是否允许...

    php教程 44 1年前
  • ajaxFileUpload上传实例代码教程

    //上传图标 function ajaxFileUpload() { $.ajaxFileUpload({ url: "@Url.Action("UploadImgFile", "Upload")", //用于文件上传的服务器端请求地址 secureuri: false, //一般设置为false ...

    js教程 35 10个月前
  • AjaxFileUpload文件上传示例代码

    AjaxFileUpload下载地址:https://github.com/carlcarl/AjaxFileUpload前台引用文件 ajaxfileupload.js@{ ViewBag.Title = "数据导入"; Layout = "~/Views/Shared/_IndexLayout.cshtml";}<!--单个文件--><script src="~/Content/scripts/upload...

    js教程 17 11个月前
最新更新
  • js截取字符串教程

    slice()方法接受两个参数,起始索引和结束索引(可选)。它返回从起始索引到结束索引(不包括结束索引)之间的子字符...

    js教程 1周前
  • find findIndex indexOf索引选择器使用方法

    find使用方法find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的元素。语法是:array.find(callba...

    js教程 3周前
  • js复制网页内容教程

    Async Clipboard API方法HTML5新增的方法,无需引入第三方插件,直接就可以复制内容。低版本的浏览器可能会不兼...

    js教程 1个月前
  • js获取字符长度函数分享

    js获取字符长度函数function objLen(str) { if (str == null) return 0; if (typeof str != "string") { ...

    js教程 1个月前
  • 网站LED跑马灯效果广告代码

    网站可以看到很多的论坛网站都会用到这种网站LED跑马灯效果,这种效果实现也很简单,分享给大家。LED跑马灯效果...

    js教程 1个月前