| Logging File Download |
This is a very simple and elegant method to monitor how many people download a resource from your Web site. Former ASP Pro Ken Cox provides a brief solution to this often-asked question.
We need to keep track of users' file download activity on our site. When a user clicks on a hyperlink to download a file, it will run an ASP page on the server to log something into SQL Server and then download the file into the client. How can an ASP page download a file back to the client after the logging process?
The trick is to use a hyperlink to launch a second "background" script that logs the filename and initiates the download. If the second script doesn't produce any HTML output, the first page stays on the user's browser screen.
Here's how the hyperlink looks in the first file:
Download code.zip (Don't click on this link, it is only for demonstration, it won't do anything)
The above link was created using the following code:
<A HREF="dnladd.asp?filename=code.zip">Download code.zip</A>
When the user clicks the hyperlink, we pass the requested filename to the second file, dnladd.asp. Dnladd.asp contains the script and SQL commands that write the filename and other information to the database. After that, dnladd.asp initiates the download with these lines:
Response.ContentType = "application/x-zip-compressed"
|Remember: don't put any HTML code in dnladd.asp. |