English 中文(简体)
Downloading pictures/Word documents using ASP.NET
原标题:

If I put the following code:

    Response.ContentType = "image/jpeg"
    Response.AppendHeader("Content-Disposition", "attachment; filename=capitol.jpg")
    Response.WriteFile(MapPath("capitol.jpg"))

into Page_Load, I will get the dialog box to download the image. But when I put the same code into a sub routine:

Private Sub downloadPic()
    MsgBox("Hello!")
    Response.ContentType = "image/jpeg"
    Response.AppendHeader("Content-Disposition", "attachment; filename=capitol.jpg")
    Response.WriteFile(Server.MapPath("capitol.jpg"))
    Response.End()
End Sub

I get the MsgBox (just for testing) but I don t get the ability to download the image. Any ideas?

问题回答

You can t output to the page and also push the download content within a single request/response.

Anyway your code won t work properly with a Response.Clear() before assigning header and WriteFile.

Thank you for the comment. The problem with my code was that I had the WriteFile code within an UpdatePanel. That was my mistake!





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签