In PHP I can do: header("Content-type: application/octet-stream")
and then anything that I output is downloaded instead of showing in the browser.
Is there a similar way to do this in ASP? I have seen about all the file streaming and such using ADODB.Stream, but that doesn't seem to work for me and always requires another file to load the content from.
Bit of an ASP noob, so go easy on me. :p All I want to do is have a script that outputs a CSV and that will force download instead of showing in the browser.
Thanks
EDIT
here is my script currently:
reportingForce.aspx.vb
Public Class reportingForce
Inherits System.Web.UI.Page
Dim FStream
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Buffer = True
Response.ContentType = "applicati开发者_如何学Con/octet-stream"
Response.AddHeader("Content-disposition", "attachment; filename=" & Chr(34) & "my output file.csv" & Chr(34))
Response.Write("1,2,3,4,5" & vbCrLf)
Response.Write("5,6,7,8,9" & vbCrLf)
End Sub
End Class
reportingForce.aspx
Hello,World
You can use:
Response.ContentType = "application/octet-stream"
I'd do both..
Response.Buffer = True
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-disposition", "attachment; filename=" & Chr(34) & "my output file.csv" & Chr(34)
Response.Write "1,2,3,4,5" & vbCRLF
Response.Write "5,6,7,8,9" & vbCRLF
The correct way to do this is to change the "Content-disposition" response header to "attachment". You don't need to change the content type.
I believe you can do something like this in ASP:
Response.AddHeader "content-disposition","attachment; filename=whatever.csv"
精彩评论