最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net生成縮略圖實(shí)現(xiàn)代碼

 更新時(shí)間:2011年11月23日 20:59:13   作者:  
此文件imgSmall.ashx專(zhuān)門(mén)用來(lái)生成圖片的縮略圖,可以減少服務(wù)器壓力,降低網(wǎng)絡(luò)流量,初學(xué)者必備
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Drawing;
using System.IO;
namespace web三層
{
/// <summary>
/// 顯示請(qǐng)求圖片的縮略圖,以寬度100像素為最大單位
/// </summary>
public class imgSmall : IHttpHandler
{
//圖片所在文件夾
static string picturesPath = @"d:\wordpictures\";
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg";
//獲取到傳遞過(guò)來(lái)的img字符串,比如
//http://localhost:5002/imgSmall.ashx?img=abacus8.jpg這種
string img = context.Request.Params["img"];
string path = picturesPath + img;
//如果文件存在才會(huì)去讀取,減少使用try,catch,提高程序性能
if (File.Exists(path))
{
//載入這個(gè)圖片
Image big = Image.FromFile(path);
//如果可以獲取到文件,才會(huì)執(zhí)行下面的代碼
if (big != null)
{
//設(shè)定最大的寬度,可以修改來(lái)生成更小的縮略圖
int newWidth = 100;
//根據(jù)圖片的寬高比來(lái)生成一個(gè)位圖
Bitmap bitmap = new Bitmap(newWidth, newWidth * big.Height / big.Width);
//根據(jù)圖板來(lái)創(chuàng)建一個(gè)圖畫(huà)
Graphics g = Graphics.FromImage(bitmap);
using (g)
{
//將大圖big畫(huà)到自己定義的小圖中bitmap
g.DrawImage(big, 0, 0, bitmap.Width, bitmap.Height);
//直接將處理好的位圖保存到響應(yīng)輸出流中,格式為jpeg!
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
else
{
//否則就發(fā)送一個(gè)文件不存在的信息到瀏覽器
context.Response.ContentType = "text/html";
context.Response.Write("文件不存在");
//或者發(fā)送一個(gè)文件不存在的圖片
//context.Response.WriteFile("todo此處修改為圖片所在路徑");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}

這是一個(gè)一般處理程序,只需要給其發(fā)送一個(gè)文件名稱(chēng)的參數(shù)就可以在瀏覽器上顯示出圖片(可以修改成發(fā)送一個(gè)圖片的序號(hào)id),比如下面的GridView控件中使用了此處理程序image

 

縮略圖字段中將其DataImageUrlField設(shè)置為文件名,這個(gè)字段是數(shù)據(jù)庫(kù)中一個(gè)字段(初學(xué)的時(shí)候我喜歡用中文字段,比較好理解),再將其DataImageUrlFormatString設(shè)置為:imgSmall.ashx?img={0},這樣在生成html代碼的時(shí)候就會(huì)把{0}替換成文件名這個(gè)字段的內(nèi)容,實(shí)際的效果如下圖:

image

縮略圖非常的小,才3040字節(jié),看官也可以發(fā)現(xiàn)當(dāng)瀏覽器請(qǐng)求圖片時(shí),請(qǐng)求的地址是imgSmall.ashx?img=abacus8.jpg

相關(guān)文章

  • GridView常用操作事件圖文介紹

    GridView常用操作事件圖文介紹

    對(duì)于gridview學(xué)NET的同學(xué)再熟悉不過(guò),但是其中功能事件是否能編碼熟練實(shí)現(xiàn)
    2012-11-11
  • 使用linq讀取分隔符文本文件

    使用linq讀取分隔符文本文件

    有時(shí)我們會(huì)處理一些帶分隔符數(shù)據(jù)文本文件。例如,使用”,”分隔的數(shù)據(jù),下面介紹下使用linq讀取分隔符文本文件的方法
    2014-01-01
  • ajax添加數(shù)據(jù)后如何在網(wǎng)頁(yè)顯示

    ajax添加數(shù)據(jù)后如何在網(wǎng)頁(yè)顯示

    這篇文章主要介紹了ajax添加數(shù)據(jù)顯示在網(wǎng)頁(yè)上,此文是通過(guò)ajax獲取后臺(tái)json數(shù)據(jù)來(lái)實(shí)現(xiàn)此功能,需要的朋友可以參考下
    2015-07-07
  • WCF如何綁定netTcpBinding寄宿到控制臺(tái)應(yīng)用程序詳解

    WCF如何綁定netTcpBinding寄宿到控制臺(tái)應(yīng)用程序詳解

    這篇文章主要給大家介紹了關(guān)于WCF如何綁定netTcpBinding寄宿到控制臺(tái)應(yīng)用程序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用WCF具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • ASP.NET下備份與還原數(shù)據(jù)庫(kù)代碼

    ASP.NET下備份與還原數(shù)據(jù)庫(kù)代碼

    ASP.NET下備份還原數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2010-03-03
  • .Net中異步任務(wù)的取消和監(jiān)控的具體實(shí)現(xiàn)

    .Net中異步任務(wù)的取消和監(jiān)控的具體實(shí)現(xiàn)

    本文主要介紹了.Net中異步任務(wù)的取消和監(jiān)控的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • ASP.NET Core實(shí)現(xiàn)單體程序的事件發(fā)布/訂閱詳解

    ASP.NET Core實(shí)現(xiàn)單體程序的事件發(fā)布/訂閱詳解

    這篇文章主要給大家介紹了關(guān)于A(yíng)SP.NET Core實(shí)現(xiàn)單體程序的事件發(fā)布/訂閱的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • asp.net操作ini文件示例

    asp.net操作ini文件示例

    這篇文章主要介紹了asp.net 操作INI文件的讀寫(xiě),讀寫(xiě)操作本地ini配置文件的方法,需要的朋友可以參考下
    2014-02-02
  • ASP.NET頁(yè)面?zhèn)鬟f值的方式介紹

    ASP.NET頁(yè)面?zhèn)鬟f值的方式介紹

    面?zhèn)髦凳菍W(xué)習(xí)asp.net初期都會(huì)面臨的一個(gè)問(wèn)題,總的來(lái)說(shuō)有頁(yè)面?zhèn)髦?、存?chǔ)對(duì)象傳值、ajax、類(lèi)、model、表單等。但是一般來(lái)說(shuō),常用的較簡(jiǎn)單有QueryString,Session,Cookies,Application,Server.Transfer。
    2012-12-12
  • ASP.NET如何獲取兩個(gè)日期之間的天數(shù)

    ASP.NET如何獲取兩個(gè)日期之間的天數(shù)

    這篇文章主要介紹了ASP.NET獲取兩個(gè)日期之間的天數(shù)方法,需要的朋友可以參考下
    2014-03-03

最新評(píng)論

海宁市| 宁蒗| 嫩江县| 雷山县| 错那县| 奈曼旗| 卓资县| 连南| 德清县| 丰宁| 晋城| 常山县| 龙胜| 弥勒县| 抚州市| 耒阳市| 阳春市| 中山市| 侯马市| 米脂县| 永定县| 庆元县| 如东县| 丹东市| 玉林市| 治县。| 奈曼旗| 新郑市| 玉环县| 宣威市| 柳河县| 绵阳市| 星子县| 安龙县| 南雄市| 平凉市| 应城市| 东港市| 新安县| 四川省| 商洛市|