asp.net使用JS+form表单Post和Get方式提交数据
程序员文章站
2022-03-22 08:08:23
最近工作中用到了一种使用js+form用post方式上传文件一种方式。前台用html input,使用js方式往服务器上传文件,具体实现看代码:
前台页面使用aspx网页...
最近工作中用到了一种使用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("."))); } } } // //......其他代码 // }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
推荐阅读
-
通过curl模拟post和get方式提交的表单类
-
Python使用post及get方式提交数据的实例
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
通过curl模拟post和get方式提交的表单类
-
asp.net使用JS+form表单Post和Get方式提交数据
-
Python使用post及get方式提交数据的实例
-
PHP 对 GET 和 POST 的表单提交方式处理
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
通过curl模拟post和get方式提交的表单类
-
通过curl模拟post和get方式提交的表单类