Ⅰ ashx文件接受POST参数返回XML
ASHX是一个HttpHandler
所以 如果楼主熟悉ASP_NET结构 可能会更加了解一些:
Page和Handler都需要一个上下文环境的 这个环境在CLR中为HttpContext 这个对象包含了WEB请求的Request Response等信息
只是Page类的HttpContext微软已经帮你做好了 所以你直接可以使用Page.Request之类的 其实这只是对HttpContext的一个引用
HttpHandler和Page不一样 要实现一个HttpHandler,必须通过IHttpHandler这个接口实现 因为这不是一个类 微软是不可能帮你先封装好Request Response之类的数据了
为了使开发人员可以使用Request之类的数据 微软为IHttpHandler提供了一个这样的方法:void ProcessRequest (HttpContext context);
所以你可以通过context.Request.Form["aaa"]这样的方法来获取参数
简单示例如下:
public class HttpHandlerA:IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string param = context.Request.Form["aaa"];
context.Response.ClearContent();
context.Response.ContentType="text/xml";
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.Cache.SetExpires(DateTime.Now);
context.Response.Write("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
context.Response.Write("<XML>");
context.Response.Write(param);
context.Response.Write("</XML>");
context.Response.End();
}
}
此外 HttpContext.Current.Request.Form["aaa"]应该也是有用的
希望对楼主有用
Ⅱ ajax+jquery+ashx如何实现上传文件
第一:建立Default.aspx页面
<html>
<head runat="server">
<title>ajax图片上传</title>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/jquery.form.js" type="text/javascript"></script>
<script type="text/javascript">
function upload(){
var path = document.getElementById("File1").value;
var img = document.getElementById("img1");
if($.trim(path)==""){
alert("请选择要上传的文件");
return;
}
$("#form1").ajaxSubmit({
success: function (str) {
if(str!=null && str!="undefined"){
if (str == "1") {alert("上传成功");document.getElementById("img1").src="images/logo.jpg?"+new Date();/*上传后刷新图片*/}
else if(str=="2"){alert("只能上传jpg格式的图片");}
else if(str=="3"){alert("图片不能大于1M");}
else if(str=="4"){alert("请选择要上传的文件");}
else {alert('操作失败!');}
}
else alert('操作失败!');
},
error: function (error) {alert(error);},
url:'Handler.ashx', /*设置post提交到的页面*/
type: "post", /*设置表单以post方法提交*/
dataType: "text" /*设置返回值类型为文本*/
});
}
</script>
</head>
<body>
<form id="form1" runat="server">
<input id="File1" name="File1" type="file" />
<input id="iptUp" type="button" value="上传Logo" onclick="upload()"/>
<img id="img1" alt="网站Logo" src="images/weblogo.jpg" />
</form>
</body>
</html>
二、新建一个一般处理文件Handler.ashx
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpPostedFile _upfile = context.Request.Files["File1"];
if (_upfile == null)
{
ResponseWriteEnd(context, "4");//请选择要上传的文件
}
else
{
string fileName = _upfile.FileName;/*获取文件名: C:\Documents and Settings\Administrator\桌面\123.jpg*/
string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower();/*获取后缀名并转为小写: jpg*/
int bytes = _upfile.ContentLength;//获取文件的字节大小
if (suffix != "jpg")
ResponseWriteEnd(context, "2"); //只能上传JPG格式图片
if (bytes > 1024 * 1024)
ResponseWriteEnd(context, "3"); //图片不能大于1M
_upfile.SaveAs(HttpContext.Current.Server.MapPath("~/images/logo.jpg"));//保存图片
ResponseWriteEnd(context, "1"); //上传成功
}
}
private void ResponseWriteEnd(HttpContext context, string msg)
{
context.Response.Write(msg);
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
}
}
您可以按照自己的需求来修改,希望对您有帮助!
Ⅲ ashx是什么文件
1、ashx是一般应用抄程序;
2、应用程式是电脑软件的主要分类之一,是为针对使用者的某种应用目的所撰写的软件;
3、Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。
(3)ashx接收上传文件扩展阅读:
应用程序介绍:
应用程式运行在使用模式,其可以和使用者进行交互,一般具有可视的使用者介面,对於应用程式需要瞭解的是:每一个应用程式运行於独立的进程、他们拥有自己独立的位址空间。不同应用程式的分界线称为进程边界。
应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言。
参考资料来源:网络-应用程序
Ⅳ asp.net 上传文件到一般处理程序中获取不到文件
你写的有问题,应该是这样
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>html控件与ashx进行保存上传文件</title>
</head>
<body>
<!--enctype="multipart/form-data"该类型指定传输数据特殊类型,如图片或mp3等,-->
<form action="Handler.ashx" method="post" enctype="multipart/form-data" id="form1">
<p>
<input id="imgfile" name="imgfile" type="file" /></p>
<p>
<input id="Button1" type="submit" value="button" /></p>
</form>
</body>
</html>
>>>>>>>>>>>>
//下面是ashx文件
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
HttpPostedFile hpf = HttpContext.Current.Request.Files["imgfile"];//HttpPostedFile提供对客户端已上载的单独文件的访问
string savepath = context.Server.MapPath("." + hpf.FileName);//路径,相对于服务器当前的路径
hpf.SaveAs(savepath);//保存
context.Response.Write("保存成功"+hpf.FileName);
}
public bool IsReusable {
get {
return false;
}
}
}
Ⅳ 安卓手机如何打开.ashx文件
1、先是到网络中下载一个 visual studio软件,可以下载最新版的或者下载其他的版本,这个可以根据自己的电脑配置而定的。
(5)ashx接收上传文件扩展阅读
ashx文件一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名。一个httpHandler接受并处理一个http请求,类比于Java中的servlet。
类比于在Java中需要继承HttpServlet类。在net中需要实现IHttpHandler接口,这个接口有一个IsReusable成员,一个待实现的方法ProcessRequest(HttpContextctx) 。
程序在processRequest方法中处理接受到的Http请求。成员IsReusable指定此IhttpHnadler的实例是否可以被用来处理多个请求。
ashx程序适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。
通俗一点来讲,ashx是一般应用程序,用jquery和.NET开发网站,用ashx作为通讯层,jquery用post传参,ashx页面接收参数,然后返回值。浏览页面时是无法看到编写的代码的。
Ⅵ ashx 中接受get传值并返回xml格式数据
我现在的电脑没有安装VS,只能给你点提示,不用ashx,因为ashx要配置web.config文件。大具实现过程如下:
1.新建A.aspx页面。
2.访问A.aspx页面,把问号参数带过去,从数据库获取数据。
3.Page_Load里 Response.ContentType ="text/xml"
4.用Response.OutputStream,用XmlTextWriter写到Response.OutputStream
5.访问A.aspx响应的就是xml了
Ⅶ easyui实现文件上传
//前台需要参数指定调用一般处理程序里哪个方法
publicstringUploadFile()
{
stringresult="上传成功";
try{
//接收上传后的文件
HttpPostedFilefile=Context.Request.Files["imgPath4"];
//获取文件的保存路径
stringuploadPath=HttpContext.Current.Server.MapPath("~/_data/Files");
stringfileEx=Path.GetExtension(file.FileName);//文件的格式
stringdtStr=file.FileName.Replace(fileEx,"_")+DateTime.Now.ToString("yyyyMMddhhmmss");
//判断上传的文件是否为空
if(file!=null)
{
if(!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
//保存文件
file.SaveAs(HttpContext.Current.Server.MapPath("~/_data/Files/"+dtStr+fileEx));
filePath=HttpContext.Current.Server.MapPath("~/_data/Files/"+dtStr+fileEx);
}
}
catch(Exceptionex)
{
result="上传失败";
}
returnresult;
}
Ⅷ B/S方件上传下载实现 客户端为Android手机,服务端为.aspx或.ashx网页,从手机端发文件然后网页接收文件
参考这里:
http://blog.csdn.net/shimiso/article/details/8529633
Ⅸ asp.net 一般处理程序(ashx)如何多次接收上传文件(多文件批量上传)
Like
this
:
比如源前台有3个INPUT:
然后后台:
HttpFileCollection
files
=
HttpContext.Current.Request.Files;
//这个files里面就是你上传文件的集合。遍历即可。
Ⅹ asp.net 一般处理程序(ashx)如何多次接收上传文件(多文件批量上传)
Like this :
比如前台有3个INPUT:
<form enctype= "multipart/form-data">
<INPUT style= "WIDTH: 480px; HEIGHT: 22px " type= "file " name= "File " size= "60 ">
<INPUT style= "WIDTH: 480px; HEIGHT: 22px " type= "file " name= "File " size= "60 ">
<INPUT style= "WIDTH: 480px; HEIGHT: 22px " type= "file " name= "File " size= "60 ">
</form>
然后后台:
HttpFileCollection files = HttpContext.Current.Request.Files;
//这个files里面就是你上传文件的集合。遍历即可。