📄 webfunction.cs
字号:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
/// <summary>
/// WebFunction 的摘要说明
/// </summary>
public class WebFunction
{
public static void AdminLogin()
{
LoginCheck("Admin","Main.aspx");
}
public static void Login()
{
LoginCheck("ID","Default.aspx");
}
static void LoginCheck(string sessionName,string url)
{
if (System.Web.HttpContext.Current.Session[sessionName] == null)
{
System.Web.HttpContext.Current.Response.Write("<script type=\"text/javascript\">alert(\"对不起!您还没有登陆!请登陆!\");location=\"" + url + "\"</script>");
System.Web.HttpContext.Current.Response.End();
}
}
public static void HaveMessage(System.Web.UI.WebControls.HyperLink hlMessage)
{
if (System.Web.HttpContext.Current.Session["ID"] != null)
{
MyPage db = new MyPage();
db.dbh.Reset();
db.dbh.sqlCommand = "select MessageCount from Users where ID=@ID";
db.dbh.AddFieldParameters("ID",System.Web.HttpContext.Current.Session["ID"]);
db.dbh.GetDataReader();
if (db.dbh.dr.Read())
{
if ((int)db.dbh.dr[0] > 0)
{
hlMessage.ForeColor = System.Drawing.Color.Red;
hlMessage.Text = (int)db.dbh.dr[0] + "条信息";
hlMessage.NavigateUrl = "SMS.aspx?Menu=Look";
}
}
db.dbh.dr.Close();
db.dbh.Dispose();
}
}
public static System.Collections.ArrayList _sessionList = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList());
public static void MemberAdd(object obj)
{
for (int i = 0; i < _sessionList.Count; i++)
{
if (obj.ToString() == _sessionList[i].ToString())
return;
}
_sessionList.Add(obj);
}
public static void MemberDec(object obj)
{
_sessionList.Remove(obj);
}
public static int MemberCount()
{
return _sessionList.Count;
}
}
/// <summary>
/// UpFile 的摘要说明
/// </summary>
public class UpFile
{
public UpFile()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static string upImage(string upPath,string FileName, string FileFrontName)
{
String fileExtension = System.IO.Path.GetExtension(FileName).ToLower();
String[] alloweExtensions ={ ".jpg", ".gif" };
for (int i = 0; i < alloweExtensions.Length; i++)
{
if (fileExtension == alloweExtensions[i])
{
return upPath + FileFrontName + fileExtension;
}
}
return null;
}
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="fileStream">文件流 null为使用源图路径</param>
/// <param name="originalImagePath">源图路径(相对路径) null为使用文件流</param>
/// <param name="thumbnailPath">缩略图路径(相对路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式 HW/指定高宽缩放 W/指定宽,高按比例 H/指定高,宽按比例 Cut/指定高宽裁减(不变形)</param>
public static void MakeThumbnail(System.IO.Stream fileStream, string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
System.Drawing.Image originalImage;
if (fileStream == null)
{
originalImage = System.Drawing.Image.FromFile(System.Web.HttpContext.Current.Server.MapPath(originalImagePath));
}
else
{
originalImage = System.Drawing.Image.FromStream(fileStream, true);
}
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width / originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height / originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height * towidth / toheight;
y = 0;
x = (originalImage.Width - ow) / 2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width * height / towidth;
x = 0;
y = (originalImage.Height - oh) / 2;
}
break;
default:
break;
}
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(System.Web.HttpContext.Current.Server.MapPath(thumbnailPath), System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
}
namespace Leehom
{
/// <summary>
/// UpFile 的摘要说明
/// </summary>
public class UpFile
{
public string WatermarkText = "";
public string WatermarkPosition = System.Configuration.ConfigurationManager.AppSettings["WaterImgPosition"].ToString();
public string Watermarkimgpath = System.Configuration.ConfigurationManager.AppSettings["WaterImgMarkPath"].ToString();
public string imgPath = System.Configuration.ConfigurationManager.AppSettings["UpImgPath"].ToString();
public string ImgLink = "";
public string WatermarkType = "T";
public bool ShowWatermark = false;
public bool MiniImg = true;
public int MiniImgW = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["SmallImgW"]);
public int MiniImgH = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["SmallImgH"]);
private string ImgPath = System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["UpImgPath"].ToString());
private string ThumbPath = System.Web.HttpContext.Current.Server.MapPath("~\\Thumbs\\" + System.Configuration.ConfigurationManager.AppSettings["UpImgPath"].ToString());
public UpFile()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/**/
/// <summary>
/// 上传图片代码
/// </summary>
/// <param name="image_file">HtmlInputFile控件</param>
/// <param name="ImgPath">存放的文件夹绝对位置</param>
/// <param name="ImgLink">生成的图片的名称带后缀</param>
/// <returns></returns>
public bool UpPic(System.Web.UI.HtmlControls.HtmlInputFile image_file)
{
String fileExtension = System.IO.Path.GetExtension(image_file.PostedFile.FileName).ToLower();
String[] alloweExtensions ={ ".jpg", ".gif" };
for (int i = 0; i < alloweExtensions.Length; i++)
{
if (fileExtension == alloweExtensions[i])
{
if (image_file.PostedFile.ContentLength > Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["UpFileSize"]))
{
return false;
}
if (fileExtension == ".gif")
{
ShowWatermark = false;
}
try
{
if (!System.IO.Directory.Exists(ImgPath) && !System.IO.Directory.Exists(ThumbPath))
{
System.IO.Directory.CreateDirectory(ImgPath);
System.IO.Directory.CreateDirectory("Thumbs\\" + ImgPath);
}
//生成缩略图
//如果显示水印
if (ShowWatermark)
{
image_file.PostedFile.SaveAs(ImgPath + "old_" + ImgLink);
//加水印
addWaterMark((ImgPath + "old_" + ImgLink), (ImgPath + ImgLink));
}
else
{
image_file.PostedFile.SaveAs(ImgPath + ImgLink);
}
if (MiniImg)
{
GreateMiniImage((ImgPath + ImgLink), (ThumbPath + ImgLink), MiniImgW, MiniImgH, "Cut");
}
return true;
}
catch (Exception e)
{
LeeHom.Error.Record("上传图片", e.ToString());
return false;
}
finally
{
System.IO.File.Delete(ImgPath + "old_" + ImgLink);
}
}
}
return false;
}
/// <summary>
/// 添加图片水印
/// </summary>
/// <param name="oldpath">原图片绝对地址</param>
/// <param name="newpath">新图片放置的绝对地址</param>
/// <param name="sy">加水吗?</param>
/// <param name="type">什么水 I 图 T 文字</param>
public void addWaterMark(string oldpath, string newpath)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(oldpath);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -