asp.net利用ashx文件实现文件的上传功能
 更新时间:2019年11月28日 08:33:55   作者:HerryDong  

这篇文章主要介绍了asp.net利用ashx文件实现文件的上传功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

原来以为文件上传是一个比较简单的功能,结果搞了一个晚上才搞定~这里主要介绍两种方法实现。

方法一:Form表单提交

html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″ />
<title>上传文件</title>
<script src=”Scripts/jquery-1.11.3.min.js”></script>
</head>
<body>
<form action=”UploadHandler.ashx” method=”post” enctype=”multipart/form-data”>
<input id=”file_upload” name=”file_upload” type=”file” />
<input id=”btn_upload” type=”submit” value=”上传” />
</form>
</body>
</html>

UploadHandler.ashx代码:

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

namespace WebApplication1
{
/// <summary>
/// UploadHandler 的摘要说明
/// </summary>
public class UploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = “text/plain”;

HttpPostedFile file = context.Request.Files[“file_upload”];
string filePath = context.Server.MapPath(“~/UploadFiles/”) + System.IO.Path.GetFileName(file.FileName);
file.SaveAs(filePath);

context.Response.Write(“上传文件成功”);
}

public bool IsReusable
{
get
{
return false;
}
}
}
}

该方法虽然能够实现文件的上传,但是form表单提交之后整个页面就刷新了,如果要无刷新上传文件的话,就要使用ajax了。

方法二:jquery + ajax无刷上传

html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″ />
<title>上传文件</title>
<script src=”Scripts/jquery-1.11.3.min.js”></script>
</head>
<body>
<input id=”file_upload” name=”file_upload” type=”file” />
<input id=”btn_upload” type=”button” value=”上传” />

<script>
$(document).ready(function ()
{
$(‘#btn_upload’).bind(‘click’, function ()
{
var formData = new FormData();
formData.append(‘upload_file’, $(‘#file_upload’)[0].files[0]);
$.ajax({
url: ‘UploadHandler.ashx’,
type: ‘post’,
data: formData,
contentType: false,
processData: false,
success: function (msg)
{
if (msg == “Yes”)
{
alert(‘文件上传成功’);
}
else
{
alert(‘文件上传失败’);
}
}
})
});
});
</script>
</body>
</html>

UploadHandler.ashx代码:

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

namespace WebApplication1
{
/// <summary>
/// UploadHandler 的摘要说明
/// </summary>
public class UploadHandler : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = “text/plain”;

if (context.Request.Files.Count > 0)
{
HttpPostedFile file = context.Request.Files[“upload_file”];
string filePath = context.Server.MapPath(“~/UploadFiles/”) + System.IO.Path.GetFileName(file.FileName);
file.SaveAs(filePath);
context.Response.Write(“Yes”);
}
else
{
context.Response.Write(“No”);
}
}

public bool IsReusable
{
get
{
return false;
}
}
}
}

个人更推荐方法二,运行结果如下图所示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

您可能感兴趣的文章:ASP.NET 上传文件导入Excel的示例asp.net core webapi文件上传功能的实现ASP.NET Core单文件和多文件上传并保存到服务端的方法asp.net大文件上传解决方案实例代码asp.net上传Excel文件并读取数据的实现方法ASP.NET MVC实现批量文件上传ASP.NET Core文件上传与下载实例(多种上传方式)解决asp.net上传文件超过了最大请求长度的问题ASP.NET MVC HttpPostedFileBase文件上传的实例代码ASP.NET 上传文件到共享文件夹的示例

asp.net
ashx
文件上传

相关文章
System.Web中不存在类型或命名空间名称script 找不到System.Web.这篇文章主要为大家详细介绍了System.Web中不存在类型或命名空间名称script,找不到System.Web.Extensions.dll引用的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-04-04
.net core版 文件上传/ 支持批量上传拖拽及预览功能(bootstrap f本篇内容主要解决.net core中文件上传的问题 开发环境:ubuntu+vscode.本文给大家介绍的非常详细,感兴趣的朋友一起看看吧 2017-03-03
.NET中的枚举用法浅析这篇文章主要介绍了.NET中的枚举用法,分析了枚举的定义、转换、判定等常见用法,需要的朋友可以参考下 2015-01-01
asp.net 4.0+ webform程序中集成mvc4这篇文章主要介绍了asp.net 4.0+ webform程序中集成mvc4的相关资料,需要的朋友可以参考下 2016-09-09
Visual Stduio 2010开发环境搭建教程这篇文章主要为大家详细介绍了Visual Stduio 2010开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-04-04
DataGridView中绑定DataTable数据及相关操作实现代码DataGridView中绑定DataTable数据及相关操作 2010-02-02
asp.net 生成数字和字母组合的随机数asp.net下生成数字跟字母组合的随机数,提高验证安全。 2009-03-03
ExtAspNet GridPanel的一般用法ExtAspNet GridPanel的一般用法 2010-02-02
.NET Core3.0 日志 logging的实现这篇文章主要介绍了.NET Core3.0 日志 logging的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 2020-10-10
asp.net 枚举文件里面的数字绑定到DropDownList里面去将枚举文件里面的数字绑定到DropDownList里面去的实现方法,大家可以借鉴下。 2009-07-07

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。