17.2. Creating a File Download Handler
Problem
You want to create a general purpose file handler to download files of any type.
Solution
Create an HTTP handler to read the required file from the filesystem and send it to the browser. The steps for creating an HTTP handler are defined in Recipe 17.1.
Example 17-8 and Example 17-9 show the VB and C# class files
we’ve written to implement a file download HTTP
handler. Example 17-10 through Example 17-12 show the .aspx
file and
the VB and C# code-behind files for our application that demonstrates
the use of the file download HTTP handler.
Discussion
Of the many ways you might implement a reusable file download routine that can handle virtually any file type, creating an HTTP handler makes the most sense. HTTP handlers are designed specifically to process requests for resources, and a file download request is merely a special instance of such a request.
The file download HTTP handler described in our example downloads a file from the local filesystem to the user’s system. The name of the file to download is passed in the URL used to access the HTTP handler.
The first step in implementing the file download HTTP handler is to
create a class that implements IHttpHandler
. The
class can be part of your web project, or, if you want it to be
reusable across applications, place it in a project by itself so a
separate assembly can be created, as described in Recipe 17.1.
As discussed in the previous recipe, implementing the
IHttpHandler
interface requires ...
Get ASP.NET Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.