Solved

Force Download

Posted on 2008-10-22
3
227 Views
Last Modified: 2013-11-05
Is there anyway to have a link that will force the browser to download regardless of how the mime is setup in their browser?  I want to let people download mp3 files without have to right-click and save as.
0
Comment
Question by:kyleroi
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 18

Expert Comment

by:Ajay Sharma
ID: 22784601
save the below code as down.aspx.

call this file and pass one parameter specifying the name of file.

e.x.

response.redirect("down.aspx?file=" & filenamefromVariable)

This will force the file under the "upload directory" to be downloaded

<%@ Page language="vb" runat="server" explicit="true" strict="true" %>
<script language="vb" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
	Dim filenames As String = Request.QueryString("file")
	'-- if something was passed to the file querystring
	If filenames <> "" Then
		Dim strRequest As String = "./upload/" & Request.QueryString("file")
		Dim fileNameasSave As String = Request.QueryString("name")
		'get absolute path of the file
		Try
			Dim path As String = Server.MapPath(strRequest)
			'get file object as FileInfo
			Dim file As System.IO.FileInfo = New System.IO.FileInfo(path)
			'-- if the file exists on the server
			If file.Exists Then
				'set appropriate headers
				Response.Clear()
				Response.AddHeader("Content-Disposition", "attachment; filename=" & fileNameasSave)
				Response.AddHeader("Content-Length", file.Length.ToString())
				Response.ContentType = "application/octet-stream"
				Response.WriteFile(file.FullName)
				Response.End
			'if file does not exist
			Else
				Response.Write("This file does not exist.")
			End If
			'nothing in the URL as HTTP GET
		Catch ex As Exception
			Response.Write(ex.Message)
		End Try
	Else
		Response.Write("Please provide a file to download.")
	End If
End Sub
</script>

Open in new window

0
 
LVL 1

Author Comment

by:kyleroi
ID: 22789323
My apologies, I was not clear enough.  I want to force the download (or prompt to save file) using a file on a different server?  Is this possible?  If not I guess I could put the down.aspx on that server.
0
 
LVL 18

Accepted Solution

by:
Ajay Sharma earned 500 total points
ID: 22793706
i think, without using any server-side code its nearly impossible as the content is originated from the server, and if you don't have access to server resources then how can u control the data (response) coming from that server ??

Logically u should have some access to the server.
0

Featured Post

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question