博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET 一般处理程序 接收文件上传
阅读量:7084 次
发布时间:2019-06-28

本文共 5375 字,大约阅读时间需要 17 分钟。

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());                }            }        }

  

转载于:https://www.cnblogs.com/qiang277629628/p/9254443.html

你可能感兴趣的文章
安卓平台下ARM Mali OpenCL编程-GPU信息检测(转)
查看>>
数学之美读书笔记一如何度量查询关键字和网页的相关性(逆文本频率指数)...
查看>>
MySQL慢查询日志总结
查看>>
Ubuntu Apache配置及开启mod_rewrite模块
查看>>
HTML5 FormData 方法介绍以及实现文件上传
查看>>
关闭使用ShellExecute打开的进程!!!!!
查看>>
x为正变数,求y=x^3/(x^4+4)的最大值
查看>>
VC++为你的程序增加内存泄露检测
查看>>
链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI11" 指示该对象没有列,或当前用户没有访问该对象的权限。...
查看>>
html5学习笔记3——高级特性
查看>>
ES6中的模板字符串---反引号``
查看>>
JavaScript 小工具
查看>>
cocos2d-x C++ (Android)集成第三方微信分享
查看>>
information_schema.partitions 学习
查看>>
UVA 10359 Tiling
查看>>
Ninject 2.x细说---2.绑定和作用域
查看>>
Html5 学习系列(二)HTML5新增结构标签
查看>>
用浏览器模拟各种User Agent
查看>>
Android两个常用且强大的测试方法
查看>>
以枚举作为下拉列表的数据源
查看>>