asp.nettransmitfile

Error in file after download


I have word document which is opening perfectly at server but when i download it using button click event of my website it gets currept. i am using below code on button click to make document download. please help to resolve this problem: i am using .net framework 3.5

 Response.Clear();
 Response.AddHeader("Content-Disposition", "attachment; filename=StandardLetter" + _responseId.ToString() + ".doc");
 Response.ContentType = "application/octet-stream";

 Response.TransmitFile (Server.MapPath("~/document/letter/StandardLetter" + _responseId.ToString() + ".doc"));

Solution

  • Ok well here is the code I use, it's vb but easily converted ;)

     Response.ContentType = "application/pdf"
            Dim byteArray As Byte() = File.ReadAllBytes(MergedFile)
    
            Response.AddHeader("Content-Disposition", "attachment;filename=""" & ShortFilename & """")
            Response.AddHeader("Content-Length", byteArray.Length)
            Response.BinaryWrite(byteArray)
            Response.Flush()
            Response.End()
    

    This works for PDF and by changing .ContentType to Excel spits that out too.. So I assume this will take any MIME type. Good luck!

    I take my pdf document called MergedFile and convert it to a byte(), I give it a 'ShortName' that can be entered by the user. Content-Length is very important..