当前位置: 首页 > news >正文

js上传

js上传目前有很多的方法,有控件,有自定义的等等

下面为在项目中用到的一个自定义的上传,不依赖任何的控件

///上传触发事件
function StartLoadCAD() {
    var fileupload = document.getElementById('filePro').files;
    for (var i = 0; i < fileupload.length; i++) {
        var formdata = new FormData();
         formdata.append('files', fileupload[i]);   
        //formdata.append('files', fileupload);
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.open("post", '../Myupload/upload.ashx?method=formDataUpload');
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                //alert('上传成功');
                    //uploadToFile(fileupload[0].name);     //开始临时上传
            }
        }
        xmlHttp.send(formdata);
        if (fileupload[i].name.indexOf(".shp") >= 0&&fileupload[i].name.indexOf(".xml")==-1) {
            uploadToFile(fileupload[i].name);     //开始临时上传
        }
        if (fileupload[i].name.indexOf(".dwg") >= 0) {
            uploadToFile(fileupload[i].name);
        }
    }
 
    //uploadToFile(fileupload[0].name);     //开始临时上传
  
}


///临时上传            
function uploadToFile(filename) {
    $.ajax({
        type: "get",
        url: "Home.aspx",
        data: { "getCADpt": "getCADpt", "filename": filename },
        error: function (ex) {
            alert(ex);
        },
        success: function (data) {
            if (data == "-1") {
                alert("叠加文件格式不对");
                $("#fileurl").val("")
                return;
            }
            if (data == "0") {
                alert("选择文件为空");
                return;
            }
            //叠加
            $("#overCAD").fadeOut(500);
            AddCAD(data);       //获取CAD数据
 
        }
    });
}

其中,当执行到临时上传这里的时候,其实文件已经在上一步操作中把文件上传到了指定的位置
文件上传,一般浏览器都会对客户端的路径进行加密安全处理,所以采用fileupload可以避免直接去读取浏览器的文件地址

转载于:https://www.cnblogs.com/sguozeng/p/9230468.html

相关文章:

  • Quagga 配置笔记
  • libstdc++.so.6: version `GLIBCXX_3.4.21'
  • JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
  • 阿里云服务提供商分享CDN访问异常该如何排查
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • 各种品牌进入Bios方式
  • WIFI搜索的到别人,却找不到自己家的wifi
  • Go第三方库
  • http和https和ssl和tcp/ip之间的关系和区别
  • 人工智能20年内取代近半职业?
  • bzoj 1009 [HNOI2008]GT考试——kmp+矩阵优化dp
  • HyperLedger Fabric(超级账本) 入门实战
  • MySQL多实例安装部署
  • 网络命令初步排错
  • python_正则表达式匹配ip
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Druid 在有赞的实践
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java知识点总结(JavaIO-打印流)
  • learning koa2.x
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Octave 入门
  • October CMS - 快速入门 9 Images And Galleries
  • springboot_database项目介绍
  • SQLServer之索引简介
  • vagrant 添加本地 box 安装 laravel homestead
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 包装类对象
  • 每天10道Java面试题,跟我走,offer有!
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 微信公众号开发小记——5.python微信红包
  • 用element的upload组件实现多图片上传和压缩
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • #DBA杂记1
  • #Linux(make工具和makefile文件以及makefile语法)
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (12)Linux 常见的三种进程状态
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (vue)页面文件上传获取:action地址
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET业务框架的构建
  • 。Net下Windows服务程序开发疑惑
  • @angular/cli项目构建--Dynamic.Form