分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

ASP.NET 一般处理程序 接收文件上传

发布时间:2023-09-06 02:02责任编辑:沈小雨关键词:.NET文件上传
public void ProcessRequest(HttpContext context) ???????{ ???????????context.Response.ContentType = "text/plain"; ???????????StringBuilder sb = new StringBuilder(); ???????????string resultcode = null; ???????????string errormsg = null; ???????????string paths = ""; ???????????string names = ""; ???????????string title = ""; ???????????string FILEGUID = ""; ???????????if (context.Request.Files.Count == 0) ???????????{ ???????????????resultcode = "1003"; ???????????????errormsg = "上传文件为空!"; ???????????????sb.Append("{\"resultcode\":" + "\"" + resultcode + "\""); ???????????????sb.Append(","); ???????????????sb.Append("\"errormsg\":" + "\"" + errormsg + "\""); ???????????????sb.Append(","); ???????????????sb.Append("\"datas\":" + "{"); ???????????????sb.Append("\"FilePath\":" + "\"" + paths + "\""); ???????????????sb.Append(","); ???????????????sb.Append("\"FileName\":" + "\"" + names + "\""); ???????????????sb.Append(","); ???????????????sb.Append("\"FileTitle\":" + "\"" + title + "\""); ???????????????sb.Append(","); ???????????????sb.Append("\"FileGuid\":" + "\"" + FILEGUID + "\""); ???????????????sb.Append("}"); ???????????????sb.Append("}"); ???????????} ???????????else ???????????{ ???????????????string guid = System.Guid.NewGuid().ToString("N"); ???????????????string dir = context.Server.MapPath("~/TaskMobile/files/") + guid; ???????????????if (!System.IO.Directory.Exists(dir)) ???????????????{ ???????????????????System.IO.Directory.CreateDirectory(dir); ???????????????} ???????????????for (int i = 0; i < context.Request.Files.Count; i++) ???????????????{ ???????????????????//获取上传的文件的对象 ?????????????????????HttpPostedFile img = context.Request.Files[i]; ???????????????????//获取上传文件的名称 ?????????????????????string s = img.FileName; ???????????????????var strFileExtension = s.Substring(s.LastIndexOf(‘.‘) + 1, s.Length - s.LastIndexOf(‘.‘) - 1).ToUpper(); ???????????????????String allowextension = System.Configuration.ConfigurationManager.AppSettings["AllowUploadFileType"]; ???????????????????if (allowextension.IndexOf(strFileExtension) >= 0) ???????????????????{ ???????????????????????int len = s.LastIndexOf(".") - s.LastIndexOf("\\") - 1; ???????????????????????string fileName = s.Substring(s.LastIndexOf("\\") + 1, len); ???????????????????????string fullName = s.Substring(s.LastIndexOf("\\") + 1); ???????????????????????fileName = fileName.Replace(",", ""); ???????????????????????fullName = fullName.Replace(",", ""); ???????????????????????fullName = fullName.Replace(":", ""); ???????????????????????//截取获得上传文件的名称(ie上传会把绝对路径也连带上,这里只得到文件的名称) ?????????????????????????//string str = System.Guid.NewGuid().ToString("N")+ s.Substring(s.LastIndexOf(".") - 1); // s.Substring(s.LastIndexOf("\\") + 1); ???????????????????????string path = dir + "\\" + fullName; ???????????????????????//保存文件 ?????????????????????????img.SaveAs(path); ???????????????????????paths = HttpRuntime.AppDomainAppVirtualPath + "/TaskMobile/files/" + guid + "/" + fullName; ???????????????????????title = "/TaskMobile/files/" + guid + "/" + fullName; ???????????????????????names = fullName; ???????????????????????//附件大写(单位KB) ???????????????????????int size = img.ContentLength / 1024; ???????????????????????//保存附件到文件表 ???????????????????????FILEGUID = new NDFILES().AddFiles(names, "", strFileExtension, NDFILES.getFileType(strFileExtension), size.ToString(), paths, context.User.Identity.Name); ???????????????????????resultcode = "1000"; ???????????????????????sb.Append("{\"resultcode\":" + "\"" + resultcode + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"errormsg\":" + "\"" + errormsg + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"datas\":" + "{"); ???????????????????????sb.Append("\"FilePath\":" + "\"" + paths + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"FileName\":" + "\"" + names + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"FileTitle\":" + "\"" + title + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"FileGuid\":" + "\"" + FILEGUID + "\""); ???????????????????????sb.Append("}"); ???????????????????????sb.Append("}"); ???????????????????} ???????????????????else ???????????????????{ ???????????????????????resultcode = "1003"; ???????????????????????errormsg = "不支持的文件类型:" + strFileExtension; ???????????????????????sb.Append("{\"resultcode\":" + "\"" + resultcode + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"errormsg\":" + "\"" + errormsg + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"datas\":" + "{"); ???????????????????????sb.Append("\"FilePath\":" + "\"" + paths + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"FileName\":" + "\"" + names + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"FileTitle\":" + "\"" + title + "\""); ???????????????????????sb.Append(","); ???????????????????????sb.Append("\"FileGuid\":" + "\"" + FILEGUID + "\""); ???????????????????????sb.Append("}"); ???????????????????????sb.Append("}"); ???????????????????} ???????????????????context.Response.Write(sb.ToString()); ???????????????} ???????????} ???????}

  

ASP.NET 一般处理程序 接收文件上传

原文地址:https://www.cnblogs.com/qiang277629628/p/9254443.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved