Given an array of bytes containing the file data, a MIME type, and a file name:
public void DownloadBytes( byte[] bytes, string mimeType, string fileName )
{
Response.ContentType = mimeType;
Response.AppendHeader( "Content-Disposition", "attachment;filename=" + fileName );
Response.BinaryWrite( bytes );
Response.Flush();
Response.End();
}