ASP.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 == )
{
resultcode = "";
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 = ; i < context.Request.Files.Count; i++)
{
//获取上传的文件的对象
HttpPostedFile img = context.Request.Files[i]; //获取上传文件的名称
string s = img.FileName;
var strFileExtension = s.Substring(s.LastIndexOf('.') + , s.Length - s.LastIndexOf('.') - ).ToUpper();
String allowextension = System.Configuration.ConfigurationManager.AppSettings["AllowUploadFileType"];
if (allowextension.IndexOf(strFileExtension) >= )
{
int len = s.LastIndexOf(".") - s.LastIndexOf("\\") - ;
string fileName = s.Substring(s.LastIndexOf("\\") + , len);
string fullName = s.Substring(s.LastIndexOf("\\") + ); 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 / ;
//保存附件到文件表
FILEGUID = new NDFILES().AddFiles(names, "", strFileExtension, NDFILES.getFileType(strFileExtension), size.ToString(), paths, context.User.Identity.Name); resultcode = "";
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 = "";
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 一般处理程序 接收文件上传的更多相关文章
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)
Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...
- ASP.NET Core 中的文件上传
ASP.NET Core上传文件 ASP.NET Core使用IFormFile来读取上传的文件内容,然后将数据写入到磁盘或其它存储空间. 添加FileUpload模型,用来接收上传的文件内容. pu ...
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...
- ASP.NET 中对大文件上传的简单处理
在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的 ...
- [Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中
写在前面 客户有这样的一个需求,针对项目中文档共享的模块,客户提出如果用户上传特别的大,或者时间久了硬盘空间就会吃满,能不能将这些文件上传到其他的服务器?然后就稍微研究了下这方面的东西,上传到网络中的 ...
- ASP.NET MVC下使用文件上传
这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解压,将组件包拷贝到MVC项目中 3. 根目录下添加新 ...
- ASP.NET中的FileUpload文件上传控件的使用
本篇文章教大家如何将客户端的图片或者文件上传到服务器: 无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等). 第一步:放入以下三个控件 Image控件,Fi ...
- ASP.NET:MVC中文件上传与地址变化处理
目录 文件的上传和路径处理必须解决下面列出的实际问题: 1.重复文件处理 2.单独文件上传 3.编辑器中文件上传 4.处理文章中的图片路径 5.处理上传地址的变化 一.上传文件和重复文件处理 文件处理 ...
- asp.net.mvc 的单文件上传和多文件上传的简单例子
首先打开vs2012,创建空的mvc4项目,名称为MVCStudy,选择基本模板
随机推荐
- cpu指令重排序的原理
目录: 1.重排序场景 2.追根溯源 3.缓存一致性协议 4.重排序原因 一.重排序场景 class ResortDemo { int a = 0; boolean flag = false; pub ...
- 最精简使用MORMOT
MORMOT是免费开源的SDK,它封装了HTTP.SYS,这是许多人使用它的原因,让人难以想像的是它居然支持DELPHI6及以上版本. 但MORMOT本身已经被封装的很庞大,它提供许多的单元,这让人不 ...
- VMware7.1安装教程
VMWare是一个"虚拟PC"软件公司.它的产品可以使你在一台机器上同时运行二个或更多Windows.DOS.LINUX系 统.与"多启动"系统相比,VMWar ...
- Spring Boot-IntelliJ IDEA搭建SpringBoot
点击create new project 点击next 这里基本都已经自动生成了,简单介绍下: Name:项目名称 Type:我们是Maven构建的,那么选择第一个Maven Project Pack ...
- 最近b站好像把blv格式换成m4s,改成mp4之后没有声音,
我研究了几个小时,然后知道一个方法,但是必须有电脑.1.m4s 的视频改为mp4可以拖进pr2.m4s的音频不能直接拖进pr(会报错),改为mp3也一样,要先改为mp3,然后在格式工厂里面选择,mp3 ...
- 微信小程序开发——使用第三方插件生成二维码
需求场景: 小程序中指定页面需要根据列表数据生成多张二维码. 实现方案: 鉴于需要生成多张二维码,可以将生成二维码的功能封装到组件中,直接在页面列表循环中调用就好了.也可以给组件添加slot,在页面调 ...
- linux,卸载文件系统的时候,报busy情况的解决记录
背景描述: 前几天由于文件系统io异常的问题,要对文件系统的属性进行修改,修改该参数需要将磁盘umount,在umount的过程中遇到问题,在此记录下. 处理过程: 1.执行umount进行卸载磁盘, ...
- 十三、postman导出java代码
导出成java的OkHttp代码 使用Junit进行接口自动化测试 使用fastJSON解析json字符串 创建个实体类 package com.netease.AcFunTest; public c ...
- django安装使用xadmin
Xadmin介绍 直接替换掉Django自带的admin系统,并提供了很多有用的东西:完全的可扩展的插件支持,基于Twitter Bootstrap的漂亮UI. 完全替代Django admin 支持 ...
- UI Automator 介绍
简介 Android 4.3发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 ...