|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
|||
|
|||
|
File Download Https
I am trying to write a routine that allows users to download files from our secure site, with the code below the file will download and when you click save i get an IE error. However when the page is not https the routine runs just fine. Any Ideas? or Directions are appreciate?
Sub DownloadFile(file) '--declare variables Dim strAbsFile Dim strFileExtension Dim objFSO Dim objFile Dim objStream '-- set absolute file location strAbsFile = Server.MapPath(file) '-- create FSO object to check if file exists and get properties Set objFSO = Server.CreateObject("Scripting.FileSystemObject") '-- check to see if the file exists If objFSO.FileExists(strAbsFile) Then Set objFile = objFSO.GetFile(strAbsFile) '-- first clear the response, and then set the appropriate headers Response.Clear '-- the filename you give it will be the one that is shown ' to the users by default when they save Response.AddHeader "Content-Disposition", "attachment; filename=" & objFile.Name 'Response.AddHeader "Content-Disposition", "inline;" & objFile.Name Response.AddHeader "Content-Length", objFile.Size Response.ContentType = "application/octet-stream" Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open '-- set as binary objStream.Type = 1 Response.CharSet = "UTF-8" '-- load into the stream the file objStream.LoadFromFile(strAbsFile) '-- send the stream in the response Response.BinaryWrite(objStream.Read) objStream.Close call logevent(0,"Done, I think.") Set objStream = Nothing Set objFile = Nothing response.End Else 'objFSO.FileExists(strAbsFile) Response.Clear Response.Write("No such file exists.") call logevent(0,"No such file exists.") End If Set objFSO = Nothing End Sub sub main Dim strPath strPath = CStr(Request.QueryString("file")) '-- do some basic error checking for the QueryString If strPath = "" Then Response.Clear Response.Write("No file specified.") call logevent(0,"No file specified.") Response.End ElseIf InStr(strPath, "..") > 0 Then Response.Clear Response.Write("Illegal folder location.") call logevent(0,"Illegal folder location.") Response.End ElseIf Len(strPath) > 1024 Then Response.Clear Response.Write("Folder path too long.") call logevent(0,"Folder path too long.") Response.End Else Call DownloadFile(strPath) End If end sub |
|
#2
|
|||
|
|||
|
Did you work this out? I am having the same problem. Response.binarywrite code works fine with http, but does not work with https.
|
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > ASP Programming > File Download Https |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|