如何用ASP.NET 处理Ajax请求

Coder-zhw 2011-03-25 03:23:15
我想做 异步上传文件, 用ASHX处理Ajax请求, 如何得到file的文件流呢?

高手指点下!先谢谢了!
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
哥子谭 2011-03-28
  • 打赏
  • 举报
回复
肯定是你自己没调试好,这个异步和同步没什么直接的区别,就是执行顺序不同而已。
Coder-zhw 2011-03-26
  • 打赏
  • 举报
回复
我不想用Jquery 想用基础的代码实现! 目前还不会!这些框架
xuxubaby 2011-03-26
  • 打赏
  • 举报
回复
百度搜 jquery ajax 异步上传图片。
Coder-zhw 2011-03-25
  • 打赏
  • 举报
回复
上面代码是同步, 能娶到file , 如果action用异步方式的话, 取不到文件! 这是为什么呢?

麻烦各位帮忙看看!
Coder-zhw 2011-03-25
  • 打赏
  • 举报
回复
如果是同步请求的话, 能够拿到文件, 异步就取不到文件? 为什么呢
下面是我的代码! 麻烦各位看看! 先谢谢啦!
file.htm

<!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>File UpLoad Test</title>

<script type="text/javascript" language="javascript">
function GetXmlHttpRequest()
{
var xmlHttp = null;
try
{
// Firefox, Opera 8.0+, Safari 非IE浏览器
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
//IE浏览器
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

function UploadAndSubmit(url)
{
var xhr = GetXmlHttpRequest();

xhr.open("post", url, true);
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4 && xhr.status == 200)
{
var t = document.getElementById("test");
t.innerHTML = xhr.responseText;
}
};

xhr.send(null);
}
function UploadCancel(f)
{

}
</script>

</head>
<body>
<center>
<h1>File UpLoad</h1>

<form id="FmUpLoad" name="FmUpLoad" method="post" enctype= "multipart/form-data" action="File.aspx">

<input type="file" id="f" name="f" />

<input type="button" id="BtnCancel" name="BtnCancel" value="取消" onclick="UploadCancel(f)" /><br />

<span id="SpUpedSize"></span>/<span id="SpTotalSize"></span>
<br />

<input type="submit" id="BtnUpLoad" value="UpLoad" />

</form>
<div id='test'></div>
</center>
</body>
</html>


FileUpLoad.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace FileUpLoad.PageHandler
{
public partial class File : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//string header = Request.Headers.ToString();
/*
int count = Request.Files.Count;
Response.Write(count);

string url = Request.Url.ToString();
Response.Write(url);
*/
int cnt = Request.Files.Count;
for (int i = 0; i < cnt; i++)
{
HttpPostedFile file = Request.Files[i];
Response.Write(i+"<br>");
Response.Write(file.ContentLength + "<br>");
Response.Write(file.InputStream.Length + "<br>");
}
Response.Write(cnt);
}
}
}

zell419 2011-03-25
  • 打赏
  • 举报
回复
<form method="post" id="form1" name="form1" enctype="multipart/form-data">
js :document.form1.submit();
后台 Request.Files[] 拿文件 。
应该可以 。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧