How to realize a C# page that give back an image instead of an html page

E

Etantonio

Good morning,
I have a static html page where I want to load image that day to day
are in a different path,
to achieve this I would want that the link point to a c# page where I
create dinamically the new url,
but how I can arrange a c# page that give back an image and not an html
page ?
Can you help me to realize this ??

Many Thanks,

Eng. Antonio D'Ottavio
www.etantonio.it/en
 
G

Goofy

I'm not sure that this is a cross post.

The detail is a little ambiguous really. He could mean and aspx c# based
webform being used to generate html to get the desired result, in which case
posting here would be appropriate ?!?
 
L

Laurent Bugnion

Hi,
Good morning,
I have a static html page where I want to load image that day to day
are in a different path,
to achieve this I would want that the link point to a c# page where I
create dinamically the new url,
but how I can arrange a c# page that give back an image and not an html
page ?
Can you help me to realize this ??

Many Thanks,

In order to return an image to a Request instead of HTML code, you can
use the following (typically in Page_Load):

Response.Clear();
Response.ContentType = "image/jpeg";
Response.StatusCode = 200;
Bitmap bmpOriginal = new Bitmap( "yourimage.jpg" );
bmpOriginal.Save( Response.OutputStream, bmpOriginal.RawFormat );
bmpOriginal.Dispose();
bmpOriginal = null;
Response.Close();
return;

It is not strictly necessary to Clear and Close the Response, but that's
safer.

On the client, simply use (for example)
<img src="yourpage.aspx?picname=yourimage.jpg" />

Note that using an ASHX custom HTTP handler instead of an ASPX is more
efficient for this kind of things, because then you avoid the whole
event wiring generated by the Page class.

HTH,
Laurent
 
E

Etantonio

Thanks for your reply.
Using your suggestion I arranged the following code in file
http://www.etantonio.it/Temp/Trad.aspx

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<%@ Page Language="c#" Trace="true" Debug="true" %>
<%@ import Namespace="System.Net" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System.Drawing" %>
<script runat="server">
void Page_Load(Object Src, EventArgs E )
{
if (!Page.IsPostBack)
{
String sAddressTime = "http://www.etantonio.it/images/zh.gif";

HttpWebRequest wreq;
HttpWebResponse wresp;
Stream mystream;
Bitmap bmp;


bmp = null;
mystream = null;
wresp = null;
try
{
wreq = (HttpWebRequest)WebRequest.Create(sAddressTime);

wresp = (HttpWebResponse)wreq.GetResponse();
if ((mystream = wresp.GetResponseStream()) != null)
{
Response.Clear();
Response.ContentType = "image/jpeg";
Response.StatusCode = 200;
Bitmap bmpOriginal = new Bitmap( "yourimage.jpg" );
bmp = new Bitmap(mystream);
bmp.Save( Response.OutputStream, bmp.RawFormat );
bmp.Dispose();
bmp = null;
Response.Close();
return;
}
}
finally
{
if (mystream != null)
mystream.Close();
if (wresp != null)
wresp.Close();
}
}
}
</script>
<html>
<head>/head>
<body >
</body>
</html>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


that it is called from a simple html file named CallTrad.aspx


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
<title>Untitled Document</title>
</head>

<body>
<img src="http://www.etantonio.it/Temp/Trad.aspx" />
</body>
</html>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


the result is that I've not the image I require,
I simply have a blank pge but with no image, any suggestion to me ??
Thanks

Antonio D'Ottavio
www.etantonio.it/en
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,243
Members
46,836
Latest member
login dogas

Latest Threads

Top