Asp.net 2.0 无刷新图片上传+回显
2012-10-09 15:25
691 查看
简单三步实现图片无刷新上传:注意是上传,至于上传时的验证,比如图片的尺寸,大小,格式。自行解决。如果我搞定了,也会贴上来的。
兼容性想还不错:FF,CH,IE,猎豹,都是可以实现的。如果看到回显。当然就是成功了。
经历了好几天的不停的钻牛角尖,终于将这个二货弄出来了。真是煞费苦心啊。但是做出来的瞬间还是蛮开心的。
第一步:我们需要加载几个JS库。
jquery库。
jquery.form.js库。
下载这两个库,并引用到页面中。
以下为页面中 JS 代码:
function upload() {
var options = {
type: "POST", //当然这个是传送方式
url: '../Include/Files.ashx', //一般处理程序的路径
success: function (msg) { //返回的参数
$("#server_img").attr("src", msg); //回显图片。
}
};
// 将options传给ajaxForm
$('#aspnetForm').ajaxSubmit(options);
//注意:这里的aspnetForm不是我故意定义的,而是在浏览器中,form标签自动的ID。可以使用firefox的firebug进行查看。
// 无论是单独的aspx页面还是模板页的内容页窗体中,body标签下面,跟着的就是form标签,同时form标签的id是form1,不需要改变,就是form1,但是在浏览器中
// from的ID就是会被解释成aspnetForm。
}
第二步:一般处理程序内的代码
public void ProcessRequest(HttpContext context)
{
HttpFileCollection files = context.Request.Files; // From中获取文件对象
if (files.Count > 0)
{
string path = ""; //路径字符串
Random rnd = new Random();
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile file = files[i]; //得到文件对象
if (file.ContentLength > 0)
{
string fileName = file.FileName;
string extension = Path.GetExtension(fileName);
int num = rnd.Next(5000, 10000); //文件名称
path = "../../UserFiles/temp/" + num.ToString() + extension;
file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path)); //保存文件。
}
}
context.Response.Write(path); //返回文件存储后的路径,用于回显。
}
}
第三步:html或者aspx中的代码。
以下两句代码随便插入html或者aspx中的任意位置。想来都是可以实现的。
<img id="server_img" width="360px" style="border: 1px solid #ccc; padding: 2px;" title="" alt="" /> //用于回显图片
<asp:FileUpload ID="Up_load" runat="server" onchange="upload()" ontextchange="upload()"/> //上传图片,自动的,两个事件是为了保证所有浏览器都兼容。
兼容性想还不错:FF,CH,IE,猎豹,都是可以实现的。如果看到回显。当然就是成功了。
经历了好几天的不停的钻牛角尖,终于将这个二货弄出来了。真是煞费苦心啊。但是做出来的瞬间还是蛮开心的。
第一步:我们需要加载几个JS库。
jquery库。
jquery.form.js库。
下载这两个库,并引用到页面中。
以下为页面中 JS 代码:
function upload() {
var options = {
type: "POST", //当然这个是传送方式
url: '../Include/Files.ashx', //一般处理程序的路径
success: function (msg) { //返回的参数
$("#server_img").attr("src", msg); //回显图片。
}
};
// 将options传给ajaxForm
$('#aspnetForm').ajaxSubmit(options);
//注意:这里的aspnetForm不是我故意定义的,而是在浏览器中,form标签自动的ID。可以使用firefox的firebug进行查看。
// 无论是单独的aspx页面还是模板页的内容页窗体中,body标签下面,跟着的就是form标签,同时form标签的id是form1,不需要改变,就是form1,但是在浏览器中
// from的ID就是会被解释成aspnetForm。
}
第二步:一般处理程序内的代码
public void ProcessRequest(HttpContext context)
{
HttpFileCollection files = context.Request.Files; // From中获取文件对象
if (files.Count > 0)
{
string path = ""; //路径字符串
Random rnd = new Random();
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile file = files[i]; //得到文件对象
if (file.ContentLength > 0)
{
string fileName = file.FileName;
string extension = Path.GetExtension(fileName);
int num = rnd.Next(5000, 10000); //文件名称
path = "../../UserFiles/temp/" + num.ToString() + extension;
file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path)); //保存文件。
}
}
context.Response.Write(path); //返回文件存储后的路径,用于回显。
}
}
第三步:html或者aspx中的代码。
以下两句代码随便插入html或者aspx中的任意位置。想来都是可以实现的。
<img id="server_img" width="360px" style="border: 1px solid #ccc; padding: 2px;" title="" alt="" /> //用于回显图片
<asp:FileUpload ID="Up_load" runat="server" onchange="upload()" ontextchange="upload()"/> //上传图片,自动的,两个事件是为了保证所有浏览器都兼容。
相关文章推荐
- Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现
- Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现
- Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现
- asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图
- [Asp.net core 2.0]Ueditor 图片上传
- asp.net 2.0 FileUpload控件 上传图片 带预览
- asp.net mvc 2.0 简单的上传图片到数据库和显示图片
- asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图
- asp.net 2.0中判断上传的图片是否符合规格
- 【ASP.NET 进阶】图片自动上传和局部刷新显示
- asp.net单步无刷新上传并回显图片
- ASP.NET 2.0中向数据库中上传图片
- asp.net 2.0中判断上传的图片是否符合规格
- asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图
- 『ASP.NET 2.0』图片上传/水印/生成缩略图
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
- asp.net ajax 和 asp.net 2.0中的fileupload合力打造无刷新文件上传控件
- asp.net 2.0中判断上传的图片是否符合规格
- asp.net 2.0中判断上传的图片是否符合规格