Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Injecting image page element without calling ASPX page?

Reply
Thread Tools

Injecting image page element without calling ASPX page?

 
 
Christopher Ambler
Guest
Posts: n/a
 
      08-26-2003
I'm wondering if there's a solution here -

I have an ASPX page with a sole purpose of scaling an image. The ASPX page
contains a single line with the codebehind tag, and the .cs file contains
the code to read an image, use GDI+ to scale it to a reasonable size, and
emit the image directly (setting content-type on the response and spitting
out the bytes for the image).

What I'd love to do would be to eliminate the ASPX page and be able to call
a routine in my compiled code directly. Since this code will be delivered to
a customer, that would get rid of the extra ASPX page and make it much more
elegant.

But since the ASPX page is called in an "img" tag, I can't see a way to do
this. Obviously, I need the img tag in the display file, but is there a way
to specify that the content comes from code rather than another page? Can
the img tag be runat-server and inject the image directly in codebehind?

Anyone have a clue for me?

Many thanks!

Christopher


 
Reply With Quote
 
 
 
 
Lucas Tam
Guest
Posts: n/a
 
      08-26-2003
"Christopher Ambler" <(E-Mail Removed)> wrote in
news:udV$4y$(E-Mail Removed):

> But since the ASPX page is called in an "img" tag, I can't see a way
> to do this. Obviously, I need the img tag in the display file, but is
> there a way to specify that the content comes from code rather than
> another page? Can the img tag be runat-server and inject the image
> directly in codebehind?


I don't think so... because the browser needs to create a new connection to
download the graphics image. The new connection would contain the binary
image data. If you placed all the code on one page, the binary data would
be mixed in with your html data, thus corrupting the display : (

--
Lucas Tam ((E-Mail Removed))
Please delete "REMOVE" from the e-mail address when replying.
http://members.ebay.com/aboutme/coolspot18/
 
Reply With Quote
 
 
 
 
Christopher Ambler
Guest
Posts: n/a
 
      08-27-2003
HttpHandlers I understand - I implemented one to do image download control
(intercepted requests for .JPG and return "Please do not directly access
this image").

So what you're saying is, instead of implemeting an ASPX file with the
codebehind, implement an HttpHandler. Instead of calling an IMG tag with the
ASPX page and the image I want served on the command line, call and IMG tag
with, say, the source as "dir1/dir2/imagename.xxx" where "xxx" is any
extension I want. I could then have the handler intercept that call, parse
the URI to find the image, perform its magic, and return the image.

Nice! I'd not considered this solution. Many thanks!

Christopher

"John Saunders" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> "Christopher Ambler" <(E-Mail Removed)> wrote in message
> news:udV$4y$(E-Mail Removed)...
> > I'm wondering if there's a solution here -
> >
> > I have an ASPX page with a sole purpose of scaling an image. The ASPX

page
> > contains a single line with the codebehind tag, and the .cs file

contains
> > the code to read an image, use GDI+ to scale it to a reasonable size,

and
> > emit the image directly (setting content-type on the response and

spitting
> > out the bytes for the image).
> >
> > What I'd love to do would be to eliminate the ASPX page and be able to

> call
> > a routine in my compiled code directly. Since this code will be

delivered
> to
> > a customer, that would get rid of the extra ASPX page and make it much

> more
> > elegant.

>
> You are describing an HttpHandler. See "
> Securely Implement Request Processing, Filtering, and Content Redirection
> with HTTP Pipelines in ASP.NET"
>

at(http://msdn.microsoft.com/msdnmag/is...s/default.aspx
> ). Here's an example .ashx file from that article:
>
> <%@ WebHandler language="C#" class="Pipeline.TimeHandler" %>
>
> using System;
> using System.Web;
>
> namespace Pipeline
> {
>
> public class TimeHandler : IHttpHandler
> {
> void ProcessRequest(HttpContext ctx)
> {
> // set response message MIME type
> ctx.Response.ContentType = "text/xml";
> // write response message body
> ctx.Response.Write("<now>");
> ctx.Response.Write(
> DateTime.Now.ToString());
> ctx.Response.Write("</now>");
> }
> bool IsReuseable { get { return true; } }
> }
> }
>
> --
> John Saunders
> Internet Engineer
> http://www.velocityreviews.com/forums/(E-Mail Removed)
>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Injecting a Style Sheet to a Master Page Rob Reagan ASP .Net 1 11-27-2006 04:24 PM
Calling a class object in my aspx page without using codebehind Gerald ASP .Net 2 10-21-2005 01:27 PM
webservices, return xml without .net injecting xml schema Peter Nofelt ASP .Net 2 09-13-2005 03:07 PM
webservices, return xml without .net injecting xml schema Peter Nofelt ASP .Net Web Services 0 09-13-2005 02:48 PM
Cannot view any .aspx page without .aspx.cs present Jerry Tovar ASP .Net 1 10-23-2003 05:59 PM



Advertisments