asp.net JS+form表单Post和Get方式提交数据
2014-03-01 17:52
1076 查看
最近工作中用到了一种使用JS+form用post方式上传文件一种方式。前台用Html input,使用JS方式往服务器上传文件,具体实现看代码:
前台页面使用aspx网页,使用input 标签,用其file类型;此标签不使用runat="server".不使用服务器控件;这里需要加上一个iframe标签。并隐藏;设置一a标签。用来作为用户点击按钮;调用JS函数:Uploadfun();
JS代码如下:
C#层代码:就是JS代码中的form的action的所标识。在FileSrv.aspx的后台cs代码中,我们可以通过使用getquery方法,得到使用Get方式传过来的参数;
这个例子里参数Type=Client是一个模块标识,CallFun则是指出cs代码层要调用的响应函数;UploadFile();
代码如下:
前台页面使用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);" 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("."))); } } } // //......其他代码 // }
相关文章推荐
- 对表单form get或post提交数据乱码的终极处理方式
- asp.net 数据提交中的GET,POST, PUT,DELETE,四种方式
- asp.net中用来进行Post和Get方式提交表单的方法
- 在ASP.NET中获取Get方式和Post方式提交的数据
- js form表单发送数据两种方式(post get)区别
- java中form以post、get方式提交数据中文乱码问题总结
- 使用Post/Redirect/Get实现Asp.net防止表单重复提交
- 在ASP.NET中获取参数POST和GET方式提交的参数 .
- 表单通过get和post方式提交数据解决乱码的方法
- ASP.NET POST方式提交数据
- asp.net form post 提交 asp.net js form 提交
- Form表单数据传输方式之Get与Post区别
- java中form以post、get方式提交数据中文乱码问题总结(转)
- Android OkHttp3(完美封装)Get异步获取数据、Post异步获取数据、Form表单提交、文件下载
- ASP.NET form post提交与get提交
- asp.net Post Get提交数据转Model实例
- Javascript模拟FORM以POST方式提交表单数据
- asp.net表单提交方法:get post(转) 适合初学者
- [网络收集]form表单提交方式post和get,Request.QueryString,Request.Form
- asp.net Post Get提交数据转Model实例