图片上传封装类【包括图片上传和缩略图上传】.NET
原文发布时间为:2009-08-30 —— 来源于本人的百度文章 [由搬家工具导入]
#region 上传图片及上传缩略图
public class UpFile : System.Web.UI.Page
{
/// <summary>
/// 上传图片jpg/jpeg/gif/bmp格式
/// 创建:2009-06-09
/// 作者:HandBoy
/// </summary>
private string fileName = String.Empty;
public string FileName
{
get { return fileName; }
set { fileName = value; }
}
/// <summary>
/// 上传图片,需设置上传目录
/// </summary>
/// <param name="postFile">FileUpload1.PostedFile</param>
/// <param name="postDir">上传的目录。如:"Upload"</param>
///
/// 调用例子: WebPublic.UpFile uf = new WebPublic.UpFile();
/// uf.upFile(FileUpload1.PostedFile, "Upload",150,120);
///
public void upFile(HttpPostedFile postFile, string postDir, int width, int height)
{
if (postFile.FileName.Length > 0)
{
int fileLength = postFile.ContentLength;
if (fileLength / 1024 <= 500)
{
string fileContentType = postFile.ContentType;
if (fileContentType == "image/pjpeg" || fileContentType == "image/gif" || fileContentType == "image/bmp")
{
//图片重命名
string nowStr = DateTime.Now.ToString("yyyyMMddHHmmss");
//获得文件扩展名
string fileType = postFile.FileName.Substring(postFile.FileName.LastIndexOf(".")).ToLower();
if (fileType != ".gif")
fileType = ".jpg";
fileName = nowStr + fileType;
//上传图片路径
string dir = Server.MapPath(postDir);
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
string savePath = dir + "/" + fileName;
if (File.Exists(savePath))
{
alert("此时上传图片人数过多上传失败,请重试!");
}
else
{
postFile.SaveAs(savePath);
if (width != 0 && height != 0)
{
string minPath = dir + "/min_" + fileName;
Image img = Image.FromFile(savePath);
System.Drawing.Bitmap bmp = new Bitmap(img, width, height);
bmp.Save(minPath);
bmp.Dispose();
img.Dispose();
}
alert("图片上传成功!");
}
}
else
{
alert("图片格式不正确!");
}
}
else
{
alert("您要上传的图片太大请上传500K以内的图片!");
}
}
else
{
alert("请选择图片!");
}
}
// <summary>
/// 上传图片,默认目录为Upload
/// </summary>
///
/// 调用例子: WebPublic.UpFile uf = new WebPublic.UpFile();
/// uf.upFile(FileUpload1.PostedFile);
///
public void upFile(HttpPostedFile postFile)
{
upFile(postFile, "Upload", 0, 0);
}
///<summary>
/// 上传图片及缩略图,默认目录为Upload
/// </summary>
///
/// WebPublic.UpFile uf = new WebPublic.UpFile();
/// uf.upFile(FileUpload1.PostedFile, 150,120);
///
public void upFile(HttpPostedFile postFile, int width, int height)
{
upFile(postFile, "Upload", width, height);
}
#region 提示
public static void alert(string strAlert)
{
string temp;
temp = "<Script language='javascript'>";
temp += "alert('" + strAlert + "');";
temp += "</Script>";
System.Web.HttpContext.Current.Response.Write(temp);
}
#endregion
}
#endregion
图片上传封装类【包括图片上传和缩略图上传】.NET的更多相关文章
- js插件---IUpload文件上传插件(包括图片)
js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...
- H5利用formData来上传文件(包括图片,doc,pdf等各种格式)方法小结!
H5页面中我们常需要进行文件上传,那么怎么来实现这个功能呢??? 我主要谈如下两种方法. (一).传统的form表单方法 <form action="/Home/SaveFile1&q ...
- dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.
http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...
- html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器
以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...
- Android 上传文件,图片。以及服务器端接收相关。
前面一篇文章写了实现照相功能的一个例子,其实那个实现效果是个略缩图.要查看全图就要先指定照片的存放路径.以后我会修改那个文章.今天先说下图片,文件等上传的实现.接着拿照片说事,光照完了不行还得往服务器 ...
- 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比
在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...
- 前端上传视频、图片、文件等大文件 组件Plupload使用指南
demo:https://blog.csdn.net/qq_30100043/article/details/78491993 Plupload上传插件中文帮助文档网址:http://www.phpi ...
- MVC与webservice上传文件(图片和视频),希望帮且到一些朋友
最近做一个项目,要把图片和视频传到服务器上(网站与图片服务器分开),在网上找了好久,没找到完整的资料. 自己也折腾了半天,才把完整的代码实现完.可能好多朋友都有实现过,没分享代码吧,写得不好希望不要见 ...
- Ueditor 1.4.3.1 使用 ThinkPHP 3.2.3 的上传类进行图片上传
在 ThinkPHP 3.2.3 中集成百度编辑器最新版 Ueditor 1.4.3.1,同时将编辑器自带的上传类替换成 ThinkPHP 3.2.3 中的上传类. ① 下载编辑器(下载地址:http ...
- ruby -- 进阶学习(四)paperclip上传中文命名图片
Paperclip -- 上传中文命名图片 使用Paperclip和ImageMagick插件来处理图片的时候,上传非中文命名的图片时,只要把配置写好就没问题 if you need to ...
随机推荐
- C/C++程序基础 (二)常用知识点
使用宏实现max 注意括号在宏内的使用 #define MAX(x, y) ( ( (x) > (y) ) ? (x) : (y) ) 宏参数连接 a##e##b 转化为字符串 #a const ...
- 第三篇:彻底解决ssh.invoke_shell() 返回的中文问题
接上一篇,前两篇解决中文的问题主要是在字符集上做的手脚,即将中文转成英文,但是有一种情况我们都来不及做转换,即登录时服务器直接返回了中文内容: 此时程序报了如下错误,其实还是字符集问题: 为此:我们可 ...
- 用户和用户组以及 Linux 权限管理
1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...
- MySQL 如何生成日期表
MySQL 如何生成日期表 在开发过程中,经常会遇到统计问题,通常交易信息都不是连续的,此时,统计出来的数据都是不连续的,所以提前生成一个时期表,当没有交易数据的时候填充0,就可以了,下面是生成日期表 ...
- 绘制字符串:imagestring()
<?php //1. 绘制图像资源(创建一个画布) $image = imagecreatetruecolor(500, 300); //2. 先分配一个绿色 $green = imagecol ...
- tp3.2框架中使用volist输出混乱的一点发现
在tp框架中,volist真的是一样很好用的东西,但是要是不注意,用起来也会有问题的 在Controller层中,将数据assign到页面 $this->assign('vo',$news); ...
- 利用DOM的方式点击切换图片及修改文字
本案例主要学习理解,用到的几个DOM方法 01.getAttribute()方法,获取元素的属性值 02.setAttribute('src',source) 方法,用后边的值修改前边这个元素的属性值 ...
- JavaScript对象创建的九种方式
1.标准创建对象模式 var person = new Object(); person.name = "Nicholas"; person.age = 29; person.jo ...
- Python之路-基础数据类型之字符串
字符串类型 字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就 ...
- docker 学习(2)
docker容器中安装vim ubuntu 中默认未装vim,docker run ubuntu vim 出现: container_linux.go:247: starting container ...