![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
1
using
System;
2![](/Images/OutliningIndicators/None.gif)
3
public
partial
class
ImageThumbnail : System.Web.UI.UserControl
4![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
5
public object PhotoID
6![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
7
get
8![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
9
object o = ViewState["PhotoID"];
10
return (o != null) ? (int)o : 0;
11
}
12
set
13![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
14
ViewState["PhotoID"] = (value != null && value != DBNull.Value) ? Convert.ToInt32(value) : 0;
15
}
16
}
17
public ImageSizes ImageSize
18![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
19
get
20![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
21
object o = ViewState["ImageSize"];
22
return (o != null) ? (ImageSizes)o : ImageSizes.Thumb;
23
}
24
set
25![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
26
ViewState["ImageSize"] = value;
27
}
28
}
29
public enum ImageSizes
30![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
31
Large = 0,
32
Thumb = 1,
33
FullSize = 2
34
}
35
public string NoPhotoImg
36![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
37
get
38![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
39
object o = ViewState["NoPhotoImg"];
40
return (o != null) ? (string)o : null;
41
}
42
set
43![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
44
ViewState["NoPhotoImg"] = value;
45
}
46
}
47
protected void Page_PreRender(object sender, System.EventArgs e)
48![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
49
if (Convert.ToInt32(PhotoID) == 0)
50![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
51
if (NoPhotoImg != null)
52![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
53
Image1.ImageUrl = NoPhotoImg;
54
}
55
else
56![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
57
Image1.Visible = false;
58
}
59
}
60
else
61![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
62
Image1.ImageUrl = "ImageFetch.ashx?Size=" + Convert.ToInt32(ImageSize) + "&ImageID=" + Convert.ToString(PhotoID);
63
}
64
}
65
protected void Page_Load(object sender, EventArgs e)
66![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
67![](/Images/OutliningIndicators/InBlock.gif)
68
}
69
}
70
ImageFetch.ashx
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
59
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
64
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
69
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
70
![](/Images/OutliningIndicators/None.gif)
1
<%
@ WebHandler Language
=
"
C#
"
Class
=
"
ImageFetch
"
%>
2![](/Images/OutliningIndicators/None.gif)
3
using
System;
4
using
System.Web;
5
using
System.Data.SqlClient;
6
using
System.Data;
7
using
System.IO;
8![](/Images/OutliningIndicators/None.gif)
9
public
class
ImageFetch : IHttpHandler
10![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
11
const int BUFFERSIZE = 1024;
12![](/Images/OutliningIndicators/InBlock.gif)
13
public bool IsReusable
14![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
15
get
16![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
17
return true;
18
}
19
}
20![](/Images/OutliningIndicators/InBlock.gif)
21
public void ProcessRequest(HttpContext context)
22![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
23
HttpResponse response = context.Response;
24
HttpRequest request = context.Request;
25
response.ContentType = "image/jpeg";
26
response.Cache.SetCacheability(HttpCacheability.Public);
27
response.BufferOutput = false;
28
writeSingleImage(Convert.ToInt32(request.QueryString["ImageID"]), Convert.ToInt32(request.QueryString["Size"]), response.OutputStream);
29
response.End();
30
}
31![](/Images/OutliningIndicators/InBlock.gif)
32
public void writeSingleImage(int ImageID, int size, Stream output)
33![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
34
string cxnstr = System.Configuration.ConfigurationManager.ConnectionStrings["ClubSiteDB"].ConnectionString;
35
SqlConnection connection = new SqlConnection(cxnstr);
36
string query;
37
if (size == 0)
38![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
39
query = "select largeimage from images where id=@item_id";
40
}
41
else if (size == 1)
42![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
43
query = "select thumbimage from images where id=@item_id";
44
}
45
else if (size == 2)
46![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
47
query = "select origimage from images where id=@item_id";
48
}
49
else
50![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
51
query = "select largeimage from images where id=@item_id";
52
}
53
SqlCommand command = new SqlCommand(query, connection);
54
SqlParameter param0 = new SqlParameter("@item_id", SqlDbType.Int);
55
param0.Value = ImageID;
56
command.Parameters.Add(param0);
57
connection.Open();
58![](/Images/OutliningIndicators/InBlock.gif)
59
byte[] d = ((byte[])(command.ExecuteScalar()));
60
output.Write(d, 0, d.Length);
61
connection.Close();
62
}
63
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
63
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)