Where did you come up with Response.TransmitFile ????
No such thing.
Look here:
http://msdn.microsoft.com/en-us/library/ms525405
Also, you can't use ~ in a path with Server.MapPath and ASP. That's an ASP.NET-ONLY convention.
It's been quite some time since I have done this, but it should be *something* like this:
Code:
<%
' make sure there are *NO* characters in the file prior to the < of the above line!
name = Trim(Request("image"))
Set strm = Server.CreateObject("ADODB.Stream")
strm.Type = 1 ' binary
strm.LoadFromFile( Server.MapPath( "/images/hi/" & name ) )
Response.AddHeader("content-disposition", "attachment;filename="&name)
Response.ContentType = "image/jpeg"
Response.BinaryWrite strm.Read
Response.End
' stuff after here does not matter as response.end means "end now"
%>