Använder koden nedan för att tvinga till nerladdning av en mp3-fil (istället för uppspelning i IE, osv).. får dock felmeddelande om att jag försöker skapa en alldeles för stor sträng:Execution of the ASP page caused the Response Buffer to exceed its configured li
Response object error 'ASP 0251 : 80004005'
Response Buffer Limit Exceeded
Execution of the ASP page caused the Response Buffer to exceed its configured limit.
This means you tried to build a very, very, very large string or tried to write a whole lot of data using Response.Write. If you are returning data to the screen in a loop, make sure you put Response.Clear() somewhere in your iteration. And don't try to build an entire web page of data and store it in a single variable.
Vad kan jag göra för att slippa detta? Finns det något bättre sätt eller kan jag modifiera koden på något sätt så att det fungerar?
Tack på förhand/Jakob
<%
If strFilnamn = "" Then
strFilnamn = "matheus_mix.mp3"
End If
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
FileName = Request.Form("FileName")
if FileName = "" Then
Response.Write "Du välja en fil!"
Response.End
End if
'Kolla så att dom inte stjäl din kod
FileExt = Ucase(Mid(FileName, InStrRev(FileName, ".") + 1))
If FileExt <> "MP3" Then
Response.Write "Filtypen är ej tillåten för nerladdning!"
Response.End
End If
' Skicka filen
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & strFilnamn
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>