项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理!

资源下载:
一、jQuery官方下载地址:https://jquery.com/download/
一.表单上传:
html客户端部分:
<form action="upload.ashx" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="file1" /><br />
<input type="submit" value="上传" />
</form>
一般处理程序服务器端:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
HttpPostedFile file1 = context.Request.Files["file1"];
helper.uploadFile(file1, "~/upload/");//这里就是对相应方法进行调用
context.Response.Write("ok");//提示执行成功
}
上传代码的封装:
/// <summary>
/// 上传图片
/// </summary>
/// <param name="file">通过form表达提交的文件</param>
/// <param name="virpath">文件要保存的虚拟路径</param>
public static void uploadImg(HttpPostedFile file,string virpath)
{
if (file.ContentLength > 1024 * 1024 * 4)
{
throw new Exception("文件不能大于4M");
}
string imgtype = Path.GetExtension(file.FileName);
if(imgtype!=".jpg"&&imgtype!=".jpeg") //图片类型进行限制
{
throw new Exception("请上传jpg或JPEG图片");
}
using (Image img = Bitmap.FromStream(file.InputStream))
{
string savepath = HttpContext.Current.Server.MapPath(virpath+file.FileName);
img.Save(savepath);
}
}
/// <summary>
/// 上传文件
/// </summary>
/// <param name="file">通过form表达提交的文件</param>
/// <param name="virpath">文件要保存的虚拟路径</param>
public static void uploadFile(HttpPostedFile file, string virpath)
{
if (file.ContentLength > 1024 * 1024 * 6)
{
throw new Exception("文件不能大于6M");
}
string imgtype = Path.GetExtension(file.FileName);
//imgtype对上传的文件进行限制
if (imgtype != ".zip" && imgtype != ".mp3")
{
throw new Exception("只允许上传zip、rar....文件");
}
string dirFullPath= HttpContext.Current.Server.MapPath(virpath);
if (!Directory.Exists(dirFullPath))//如果文件夹不存在,则先创建文件夹
{
Directory.CreateDirectory(dirFullPath);
}
file.SaveAs(dirFullPath + file.FileName);
}
二.Ajax文件异步上传:
注明:既然有了表单上传为什么又要ajax上传呢?因为表单上传过程中,整个页面就刷新了!ajax异步上传就可以达到只刷新局部位置,下面就简单看看ajax上传吧!
html客户端部分:
<head>
<script src="jquery-2.1.4.js"></script>
<script>
$(function () {
$("#upload").click(function () {
$("#imgWait").show();
var formData = new FormData();
formData.append("myfile", document.getElementById("file1").files[0]);
$.ajax({
url: "upload.ashx",
type: "POST",
data: formData,
/**
*必须false才会自动加上正确的Content-Type
*/
contentType: false,
/**
* 必须false才会避开jQuery对 formdata 的默认处理
* XMLHttpRequest会对 formdata 进行正确的处理
*/
processData: false,
success: function (data) {
if (data.status == "true") {
alert("上传成功!");
}
if (data.status == "error") {
alert(data.msg);
}
$("#imgWait").hide();
},
error: function () {
alert("上传失败!");
$("#imgWait").hide();
}
});
});
});
</script>
</head>
<body>
选择文件:<input type="file" id="file1" /><br />
<input type="button" id="upload" value="上传" />
<img src="wait.gif" style="display:none" id="imgWait" />
</body>
一般处理程序服务器端:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
if (context.Request.Files.Count > 0)
{
HttpPostedFile file1 = context.Request.Files["myfile"];
helper.uploadFile(file1, "~/upload/"); //这里引用的是上面封装的方法
WriteJson(context.Response, "true", "");
}
else
{
WriteJson(context.Response, "error", "请选择要上传的文件");
}
}
json代码封装:
public static void WriteJson(HttpResponse response,
string status1, string msg1, object data1 = null)
{
response.ContentType = "application/json";
var obj = new { status = status1, msg = msg1, data = data1 };
string json = new JavaScriptSerializer().Serialize(obj);
response.Write(json);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# asp.net表单上传
# ajax文件异步上传
# asp.net文件上传
# ajax实现异步文件或图片上传功能
# ajax图片上传
# 图片异步上传
# 更新实例
# ajax 异步上传带进度条视频并提取缩略图
# Ajax异步文件上传与NodeJS express服务端处理
# Ajax异步上传文件实例代码分享
# ajax实现文件异步上传并回显文件相关信息功能示例
# jquery中的ajax异步上传
# Ajax表单异步上传文件实例代码(包括文件域)
# ajax异步实现文件分片上传实例代码
# 上传
# 表单
# 才会
# 的是
# 客户端
# 下载地址
# 又要
# 不存在
# 会对
# 就可
# 请选择
# 不适合
# 少不了
# 上传图片
# 大家多多
# 只允许
# 过程中
# 上传文件
# 文件上传
# 大文件
相关文章:
建站之星官网登录失败?如何快速解决?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
制作网站的模板软件,网站怎么建设?
如何通过cPanel快速搭建网站?
中山网站制作网页,中山新生登记系统登记流程?
建站之星安装需要哪些步骤及注意事项?
如何在景安云服务器上绑定域名并配置虚拟主机?
小程序网站制作需要准备什么资料,如何制作小程序?
javascript中对象的定义、使用以及对象和原型链操作小结
建站之星备案流程有哪些注意事项?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
C++如何使用std::optional?(处理可选值)
测试制作网站有哪些,测试性取向的权威测试或者网站?
英语简历制作免费网站推荐,如何将简历翻译成英文?
定制建站策划方案_专业建站与网站建设方案一站式指南
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
西安大型网站制作公司,西安招聘网站最好的是哪个?
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何快速搭建个人网站并优化SEO?
PHP正则匹配日期和时间(时间戳转换)的实例代码
视频网站app制作软件,有什么好的视频聊天网站或者软件?
建站之家VIP精选网站模板与SEO优化教程整合指南
Android使用GridView实现日历的简单功能
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
建站之星如何取消后台验证码生成?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
威客平台建站流程解析:高效搭建教程与设计优化方案
nginx修改上传文件大小限制的方法
如何选择CMS系统实现快速建站与SEO优化?
c# 在高并发场景下,委托和接口调用的性能对比
济南网站制作的价格,历城一职专官方网站?
建站主机选哪家性价比最高?
seo网站制作优化,网站SEO优化步骤有哪些?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
定制建站价位费用解析与套餐推荐全攻略
香港服务器如何优化才能显著提升网站加载速度?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何用免费手机建站系统零基础打造专业网站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何选择可靠的免备案建站服务器?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
北京的网站制作公司有哪些,哪个视频网站最好?
,在苏州找工作,上哪个网站比较好?
如何选择高效可靠的多用户建站源码资源?
建站主机如何选?高性价比方案全解析
如何在IIS管理器中快速创建并配置网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。