`

C#上传函数

阅读更多

private string SavePhoto(bool isEdit,string oldimgpath)
{
string filePath="";
string allowedExt = "|.jpg|.gif|.jpeg|.png|.bmp|";
int maxFileSize = 409600;//400KB

HttpPostedFile postedFile = System.Web.HttpContext.Current.Request.Files["Img"];
string fileExt = Path.GetExtension(postedFile.FileName).ToLower();
//检测文件类型是否合法
if(!isEdit)
{
if(allowedExt.IndexOf("|" + fileExt + "|")==-1)
{
Response.Write("<script language='JavaScript' type='text/JavaScript'>alert('文件类型不合法,只能上传jpg gif类型文件!');</script>\n");
Response.End();
}

if(postedFile.ContentLength==0)
{
Response.Write("<script language='JavaScript' type='text/JavaScript'>alert('请选择您要上传的文件!');</script>\n");
Response.End();
}

if(postedFile.ContentLength>maxFileSize)
{
Response.Write("<script language='JavaScript' type='text/JavaScript'>alert('上传文件大小超出限制,最大只能上传 400KB 的文件!');</script>\n");
Response.End();
}
Random ro=new Random(System.Guid.NewGuid().GetHashCode());
string tempPath = @"Upload\" + System.DateTime.Now.ToString("yyyy") + @"\" + System.DateTime.Now.ToString("MMdd") + @"\";
filePath = tempPath + DateTime.Now.ToString("yyyyMMddHHmmss") + ro.Next(10000) + fileExt;
Functions.CreateFilePath(ConfigurationSettings.AppSettings["PersonalPath"] + tempPath);

postedFile.SaveAs(ConfigurationSettings.AppSettings["PersonalPath"] + filePath);
}
else
{
if(postedFile.ContentLength !=0)
{
if(allowedExt.IndexOf("|" + fileExt + "|")==-1)
{
Response.Write("<script language='JavaScript' type='text/JavaScript'>alert('文件类型不合法,只能上传jpg gif类型文件!');</script>\n");
Response.End();
}
if(postedFile.ContentLength>maxFileSize)
{
Response.Write("<script language='JavaScript' type='text/JavaScript'>alert('上传文件大小超出限制,最大只能上传 400KB 的文件!');</script>\n");
Response.End();
}
//删除原有图片
if( oldimgpath!=null && oldimgpath !=string.Empty)
{
string pImgPath = ConfigurationSettings.AppSettings["PersonalPath"] + oldimgpath;

if(System.IO.File.Exists(pImgPath))
System.IO.File.Delete(pImgPath);
}
Random ro=new Random(System.Guid.NewGuid().GetHashCode());
string tempPath = @"Upload\" + System.DateTime.Now.ToString("yyyy") + @"\" + System.DateTime.Now.ToString("MMdd") + @"\";
filePath = tempPath + DateTime.Now.ToString("yyyyMMddHHmmss") + ro.Next(10000) + fileExt;
Functions.CreateFilePath(ConfigurationSettings.AppSettings["PersonalPath"] + tempPath);

postedFile.SaveAs(ConfigurationSettings.AppSettings["PersonalPath"] + filePath);
}
else
{
filePath = oldimgpath;
}
}

return filePath;
}

分享到:
评论

相关推荐

    C# 公用函数包

    该类库主要为DotNet开发提供各类功能性的函数,加速项目开发 其中有基本数据的转换和检验、B/S架构的文件操作、js代码生成调用,上传图片的操作 数据图标的生成、各类数据库连接及CURD操作、SQL数据库的安装 office...

    c# 文件上传下载功能函数

    c# 文件上传下载功能函数

    C#实现微信企业号回调模式并上传图片到本地服务器

    本实例是参考其他网友提供的代码,经过本人综合修改所成...本实例实现了对文本消息与图片消息的自动回复,并将上传到微信服务器中的图片上传到本地服务器中。希望给苦苦寻找.net代码开发微信企业号的朋友提供一些帮助。

    C#上传图片生成缩略图“最佳解决

    SaveIamge 函数提供了失真解决方法,对于处理过的图片(如加水印……)要求保持高品质可以直接调用

    C#静态调用webservice

    搭建iis网站,通过webservice指定网址,即可通过调用webservice访问数据库。

    【CLRInsideOut】C#调用C++DLL结构体或函数声明代码生成工具

    因项目需要,要用C#程序调用C++的一个DLL库,了解到有个工具叫CLRInsideOut,其中一个的功能就是把C++下的结构体或者函数声明转换成C#下的定义,自动生成 C# 代码。 现上传上来,方便大家编码,给有需要的人,个人...

    C#入门经典15M每部分,共2部分。第一份(重新上传的)

    重新上传 C#入门经典第一部分 第二部分早上上传的可以下载~~~大家找下,没连在一起。第二份地址:http://download.csdn.net/source/804227 C#入门经典 含1C#简介 2编写c#程序 3变量和表达式 4流程控制 5变量的更...

    C# 表达式解析器源代码(修正)

    一个C#实现的简单表达式解析器,支持算符优先级、括号以及函数。 修正前一个上传版本存在的问题:算符优先级的错误。

    C#自动注释生成工具

    自用的C#编程工具,为赚取积分吐血上传。 工具功能包括: 1. 自动生成C#标准注释(类,函数) 2. 颜色拾取器 3. Oracle,Ext.Net代码自动生成工具 使用方法:打开PL/SQL,浏览一个表Table,切换到SQL窗口,拷贝列...

    C#实现远程桌面(源码)

    1.调用和保存远程连接的RDP文件。 2.调用Windows操作系统API函数。 3.完全具备Windows远程桌面连接的功能。 4.在线向主机发送命令。

    Microsoft Visual C# 2008从入门到精通

    本人资源全部免费,请查看我的上传资源获取更多电子书 ================================================= 丛 书 名:微软技术丛书 作 者:(英)夏普 著,周靖 译 出 版 社:清华大学出版社 出版时间:2009-...

    C#与.NET3.5高级程序设计(第4版) 中文1

    资源地址: ... 《Pro C# 2010 and the .NET 4.0 Platform, Fifth Edition》已经出版...虽然法律没有具体规定不可上传出版物电子版,如侵犯您的利益,请与本人或管理员联系删除资源;纸质版读起来更舒服,请购买正版图书

    c# BackGroundWorker控件的应用demo 第一次上传

    想学习c#的多线程应用的一个偷懒的方法,用这个控件就能很简单的开一个线程,可惜我还不会和控件绑定在一起,只能在线程中执行函数

    C#基础类库

    构造函数2.私有字段3.设置字体4.设置页面大小 5.实例化文档6.打开文档对象7.关闭打开的文档8.添加段落9.添加图片10.添加链接、点 等功能 10.ResourceManager 操作类 AppMessage app消息格式化类,返加字符串帮助类...

    一种电池检测设备的上位机程序完整源码+说明(程序采用C#语言WinForm框架实现,代码注释风格清晰,函数变量命名工整).zip

    【资源说明】 ...一种电池检测设备的上位机程序源码+项目说明(程序采用C#语言WinForm框架实现,代码注释风格清晰,函数变量命名工整,程序充分利用了C#面向对象的特性,以少量的代码便实现了超强的功能).zip

    C#获取某路径文件夹中全部图片或其它指定格式的文件名的实例方法

    1、编写获取文件名(全路径)子函数 /////param ///path:文件夹路径 ///suffix:后缀格式, 如bmp,txt ///fileList:文件名存放 ///isSubcatalog:true遍历子文件夹,否则不遍历 void getFiles(string path, string...

    C#根据DataTable的数据变更动态生成SQL语句保存到数据库

    因积分变更以及有反应说有方法不完整,已重新上传完整版,请去本人新上传的链接下载。 根据DataTable中数据行记录改变的状态,动态生成SQL语句, 如果一个表中字段上百个,在只改了其中两三个字段时,则生成的...

    C#基类库大全下载--苏飞版

    构造函数2.私有字段3.设置字体4.设置页面大小 5.实例化文档6.打开文档对象7.关闭打开的文档8.添加段落9.添加图片10.添加链接、点 等功能 10.ResourceManager 操作类 AppMessage app消息格式化类,返加字符串帮助类...

    搜集整理的asp.net C#开发常用类

    搜集整理的ASP.NET C#开发函数库,数据库操作,字符串操作,数据验证,上传等等,不包含没有分页,可以使用aspnextpager控件

    C#开发典型模块大全

    第1章 认识C#及开发环境 1.1 C#概述 2 1.1.1 C#发展历程 2 1.1.2 C#语言编程环境 2 1.2 .NET Framework 2.0简介 2 1.2.1 什么是.NET Framework 2.0 2 1.2.2 .NET Framework 2.0特性 3 1.3 安装集成...

Global site tag (gtag.js) - Google Analytics