Jakob Andersen wrote in news:ac9jj8$iri$1@news.cybercity.dk:
> Og hvis man virkelig vil have et kraftigt værktøj til sin "download
> manager" som du kalder det, så laver du en webhandler som denne:
>
> <%@ WebHandler Language="C#" Class="GetFile" %>
> using System.Web;
> using System.IO;
> public class GetFile : IHttpHandler
> {
> public void ProcessRequest (HttpContext context)
> {
> string strSti= @"C:\Inetpub\wwwroot\" +
> context.Request["fil"];
> FileStream objFileStream= new FileStream(strSti, FileMode.Open);
> int FilStorrelse = (int)objFileStream.Length;
>
> byte[] Buffer = new byte[FilStorrelse];
> objFileStream.Read(Buffer, 0, FilStorrelse);
> objFileStream.Close();
> context.Response.ContentType = "image/gif";
> context.Response.AddHeader(
> "content-disposition","filename=foo.doc");
> context.Response.BinaryWrite(Buffer);
> }
> public bool IsReusable
> {
> get { return true; }
> }
> }
nu har jeg prøvet at få dette script til at virke som en
download-manager ... men jeg kan ikke helt få det til at
virke.
jeg prøvede først blot at kopiere koden ind i en .aspx-fil
(med et par ændringer), men den giver mig en lidt uforståelig
fejl ... nemlig:
"The directive 'WebHandler' is unknown." [1]
Hvis jeg så prøver at kigge lidt omkring efter WebHandler, så ser
det ud til, at den blver brugt i en webservice ... men kan det passe,
at jeg er "nødt" til at lave dette ?
Min kode er :
**** File getFile.aspx ****
<%@ WebHandler Language="C#" Class="GetFile" %>
<script language="C#" runat="server">
using System.Web;
using System.IO;
public class GetFile : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
string strFile = context.Request["file"];
string strSti= @"Z:\inetpub\data\" + strFile
FileStream objFileStream= new FileStream(strSti, FileMode.Open);
int FilStorrelse = (int)objFileStream.Length;
byte[] Buffer = new byte[FilStorrelse];
objFileStream.Read(Buffer, 0, FilStorrelse);
objFileStream.Close();
context.Response.ContentType = "image/gif";
context.Response.AddHeader( "content-disposition","filename="+strFile);
context.Response.BinaryWrite(Buffer);
}
public bool IsReusable
{
get { return true; }
}
}
</script>
Er det mig, der totalt misforstår anvendelsen af scriptet ?
:)
[1] Fejlen kan ses på
http://stocholm.dk/getFile.aspx?file=txtConverter.exe
--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|