数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类全部分类技术牛文全部分类教程最新网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销开发数据库服务器系统虚拟化云计算嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

asp.net使用JS+form表单Post和Get方式提交数据

来源:脚本之家  责任编辑:小易  

最近工作中用到了一种使用JS+form用post方式上传文件一种方式。前台用Html input,使用JS方式往服务器上传文件,具体实现看代码:

前台页面使用aspx网页,使用input 标签,用其file类型;此标签不使用runat="server".不使用服务器控件;这里需要加上一个iframe标签。并隐藏;设置一a标签。用来作为用户点击按钮;调用JS函数:Uploadfun();

 <div>
  <input type="file" id="FileUpLoad" name="FileUpLoad" style="width:140px;" />
  <a href="javascript:void(0);" rel="external nofollow" onclick="Uploadfun()">上传</a>
 <iframe name="hidden_frame" id="hidden_frame" style="width:10%;display:none;"></iframe>
 </div>

JS代码如下:

function Uploadfun(){
      var _file = document.getElementById("FileUpLoad"); //此处是前台页面的 input 标签的ID
      var _form = document.createElenent("form"); //创建一个form
      document.body.appendChild(_form);//添加一个form
      _form.encoding = "multipart/form-data"; //使用该编码规程可以不限制 post表单2M大小的限制
      _form.method="post";//使用POST方式
      _form.action="../Service/FileSrv.aspx?Type=Client&CallFun=UploadFile"; //此处使用Get方式,传到前台页面的后台Server代码层;
      // 这个是本人工作中的项目位置
      _form.target = "hidden_frame";
      var pos = _file.nextSibling;
      _form.appendChild(_file);
      _form.submit();
      pos.parentNode.insertBefore(_file,pos);
      document.body.renoveChild(_form);
    }

C#层代码:就是JS代码中的form的action的所标识。在FileSrv.aspx的后台cs代码中,我们可以通过使用getquery方法,得到使用Get方式传过来的参数;

这个例子里参数Type=Client是一个模块标识,CallFun则是指出cs代码层要调用的响应函数;UploadFile();

代码如下:

private void UploadFile()
    {
      //
      //......其他代码
      //
      HttpFileCollection files = HttpContext.Current.Request.Files;
      if(files.Count>0)
      {
        int lintTemp = files[0].FileName.LastIndexOf(".");//得到input标签中的file文件路径;
        string lstrFileType = string.Empty;
        string lstrContentType = string.Empty;
        if(lintTemp!=-1 &&files[0].FileName.Length>lintTemp+1)
        {
          lstrFileType = files[0].FileName.Substring(lintTemp+1).ToUpper();
        }
        if(lstrFileType.ToUpper()=="JPG")
        {
          if(files[0].ContentLength<10485760)
          {
           //记得要先保存到应用程序发布所在的服务器上!
            files[0].SaveAs(Server.MapPath("~/Files/")+"JPG1."+files[0].FileName.Substring(files[0].FileName.LastIndexOf(".")));
          }
        }
      }
      //
      //......其他代码
      //
    }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:


  • 本文相关:
  • vue.js与 asp.net core 服务端渲染功能整合
  • asp.netcore1.1版本去掉project.json后如何打包生成跨平台包
  • asp.net mvc中jquery与angularjs混合应用传参并绑定数据
  • asp.net core project.json文件(5)
  • asp.net使用ajax返回json对象的方法
  • asp.net core web中使用appsettings.json配置文件的方法
  • c#后台调用前台js函数方法
  • mongodb使用c#驱动数据插入demo
  • c#操作mongodb插入数据效率
  • c#引用类型和值类型的适用场合和区别
  • microsoft visual studio 2017 for mac preview安装使用案例分享
  • asp.net数据库编程之access连接失败
  • .net实现oracle数据库中获取新插入数据的id的方法
  • asp.net 页面导航的几种方法与比较 分享
  • asp.net实现从txt文件读取数据到数据视图的方法
  • 不能忽略c#中的using和as操作符的用处
  • .net获取当前路径的方法汇总
  • 设置默认ajax操作cache and error
  • asp.net(c#)读取数据库并生成js文件制作首页图片切换效果(附demo
  • .net core内存回收模式及性能测试对比分析
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved