Ⅰ 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裡面就是你上傳文件的集合。遍歷即可。