Hi Dorababu,
I have modify your code. Please refer the code.
Handler
<%@ WebHandler Language="C#" Class="FileHandler" %>
using System;
using System.Web;
public class FileHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string prepareDownload = context.Request.QueryString["prepareDownload"];
string download = context.Request.QueryString["download"];
if (!string.IsNullOrEmpty(prepareDownload) && prepareDownload == "true")
{
// Send a "ready" response to the client
//context.Response.ContentType = "text/plain";
//context.Response.Write("Download is ready");
//context.Response.End();
}
else if (!string.IsNullOrEmpty(download) && download == "true")
{
// Below line is for testing purpose. Need to remove.
System.Threading.Thread.Sleep(2000);
// Handle file download
var invoicePdfByteArray = ConvertBase64ToPdfByteArray("JVBERi0xLjcNCiWhs8XXDQoxIDAgb2JqDQo8PC9QYWdlcyAyIDAgUiAvVHlwZS9DYXRhbG9nPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvQ291bnQgMS9LaWRzWyA0IDAgUiBdL1R5cGUvUGFnZXM+Pg0KZW5kb2JqDQozIDAgb2JqDQo8PC9DcmVhdGlvbkRhdGUoRDoyMDI1MDEwODA5MDc0MikvQ3JlYXRvcihQREZpdW0pL1Byb2R1Y2VyKFBERml1bSk+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PC9Db250ZW50cyA1IDAgUiAvTWVkaWFCb3hbIDAgMCA2MTIgNzkyXS9QYXJlbnQgMiAwIFIgL1Jlc291cmNlcyA2IDAgUiAvVHlwZS9QYWdlPj4NCmVuZG9iag0KNSAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzODY2Pj5zdHJlYW0NCngBnVrLkttGErzjK/rIifCM2Q0+j17ZivDG2iGHx7uHDR8wJDRqBwhSBDCfu9+ymdVVDVCkZI32EeKAjUZ1VlbWA/zofnMf3Rz/Xfng1tvgzrX7j2vd928673ad867bffr9ezd/WM3lPy5OvyxwM78s5367mm/SrREP8LLqnv/wGbuD+8ejK1fpKv5dB+fnK/d4cN+/9Q9z54vH9272e3U4NbV79+PbO/f4l/vpEcbOuelnNvQbfcxGNixD2jA8zAvvuOHjh9g5/K9yXbSt3f+a+sG9HVr3Pv3/YXzYjecUMBxIEbF7IgbDV2V6TknD+Zz/utm/juc759duVh/u3P3Wu5nDv+XSzeKpG3htvS7k2mLrZvtjI+tDWuZLXOtizzs26dIGV6pD3X93B0fpqg2+2x3brt71dT/U57viHvvzOT5gp2ofT7HbxfZZn8xvaEndxB6HhDd0Me5696Hq6qYZOlwPJb8o7v0cH95Xu9jELvKLEufhJjTmuI9H7mEm+wVMrvdchU/yKNx9iA/Y6U/3+M/kvRuAkgmfALreXAP6ZjhXT7EfeEr4WZ6wwAm6AUc8yYGCHmgDm34dmqYS6JM1NOqlbmDeKt27hHUtzvWA/eS87n6J4/3UR7ltna7xeF19OAFcp9iuJj5cKCAeq4ceOy10K4+nNPDL0AHooHducPGd0uIYW3hSz+EDPlRN/DhUBziYLCH+W6yvzxVpID6vn+sewL4WzW1ZSFxN6Xn6UBk/+3OFBxhDPW3aHQ+H4/5IrukByyC23BWk9JFcsJMGHvUQQXZFP6zxAbTcx0Pd9kJ1PwdhSAm/nLtZOiUiUi4FHk2IQxC4KCReiwn4Uy0IS7jir6Hrj7JmpRthwSakQPJrWAIvwDZ8kFX0C7wOduDPV+IW5ptr3H5ue3gB0N1DtOQZ5RrMIoJrPWNZwjS6DZ63UFgslsXszbkicHrKxRznaaosEzUNp700vNzi1E18HhrZWflTkhi74QzKMwjMNVvcVLfxQKZhT96/gPTNfqjbugLLlhqPixU+dLu6qc+x+zjUWCdbgLUMdMEJ1/Rhizk+iFG2J/R81otGfBnNIqn7ZUwHiMoVC/+djKu7Pj4NjVCF0cUTeD5+HxFBB0YCIOXVDf6VOBHD1ooAEgqDFOfnCbkuEHiRAP6hFz2dYHKGxSSULCZqf2dKtdsNh45wJsWjCAG0CnygtWo0g+cl9hWuWTj4Db5UxbWzrfFBrMPj/yxepY0BCeEKRxUJv0mBEKiPmlIY15QUA2YNBJ+aCtEJvqnZgboeWyyjiAskS1/MzkN/Fp8szW4e5eMQO65UpgamL1NIo2Qg5U5D8xJbyExhNhjeREkJaw5DwTDRbG+K6T3MfanOMeUlO98c9kJhnsnhhe2KpDEDsaG4RPV1GScsb2gkKMFkEV+qgzye2iXgrHC1OzZN3CEf7QU4SyElEUSaZoQqO0vyT2TJuB2WOGwEc1SC90kkeVbZH4UQGFPH93W7B9RLPXZJ2jBl4dC6tGTKSjGJi+n2kmnwhDiF+tYpzk2ry9W8EC7SgWYeqdEDuB7pp/4G6FY3ZHKMlizFEgaW/CSB6Gkpl0wJDCNfqpQzJCXGUy7EV1vwLLkXbLZb4fLfh+4EnGLXgQylfUOKNfGJNZFkLGyeWUyhZvUCEEwvA3E8VH0vZU6+KtlfyrAF9pOSaIOFWoflzBR4jdn7QsMD/cCU/d0XQb2tltCWqyj/gGNa0j6LVabsmua+uyt4bnLIMz21rIEgdMA1XV3i4u9So9FkrmMFpYJl9PZUj2pAcKE00mXMrD+k+oTbzRP9mGRUelLJiP1A0ZdjM/QnyX+sGviY7aKY3M/6DFcZKu/r4TlKhcPNuJQOfxma09BXSVontoP8zTfUk2F7QzOnvBGO8OFLHJ0Cx48pnGik4IhLOZHgVCfzRB8lehNBHEI1pQRCLSe/sZbhz/PjnwNlhDWiJSPmslQjFjOpEVlecCPvCQwTCf7QgMbaVCRQJRQ/VgNd9RyVy6lCLWBFxd4haJHCNABudr2UJKViTMd/ma3o3K4boBL8u2RrFn8n6cKJ4z7fVt2MgRKHvNwVbdW7ia4RlbDCsaVT0iPgAlwABR5Rupd8mKtxVo68tWSYvztXdQehxN95A3x/nbs0rgJlqB3aHbRGoZTUpaSx1iwwQmK1G+BcuIYPLGArvGCugS9y7yQ5VEpbXFQ3hiW2pyzC1M8ns9vAgcVXwDXHp+M5yZtXw6VJ7HGVNegWCZ/8ULKRYKmbE+Nhq8TlRaWmOLIm2w9ISrl6RTtTaBIcDyk9zgtK0rZKZlhnK10mNkYQWH/pmct/FZSttqdBWvqC/mom4loDQFTOjGcjYcWfdWgMi1z7vb4lLdEPXmE69syoUBU42CCd5+54lqbR6iTq8UWv7ow+uIOSgRNQjEkUFkU/JhUKCjIW9bHdxf3QMoxNXZjK0BEDZRy5Za+gKk59j/u7ApeF69jmsiUjj/ENhb0Z2KdiV8ue3L2NTx+m1Cu+qnMv0bpdwZQE0XwbPOYeE4E3eduAaF11ijXrUMvVgazDOZy19oFdk8UQowW05QE9w+VQdR0xwDwmXZTUr0K9A0NzFUwtlZJM8fEY42hJWqg6o4fAtaneQLHVG54V7cs0GNiy0g7KN4B+qSjrr6cZG7Er/KS1KSxje1ZUxm6Tcw5khF1QDNEymCGwsFLW4mqVPA6GFFqOGkpYrAJtuPvcobAs26iPCF8KVEs2fg38x8lM7h88qZQJS5dMnrWHl58GoAO3UYvS6AuGsoUrrCPwfOpkWoLln9dBHShetpwL9ENXYFoGzSLIJhJTJUzKGAFqZ6D9F62yV6IFIppGc5wgySEoR1oTWiYNEoCWACwq79GCAut6h0rNWpzANHT+cGx30mTYaMvTrgoLXZYADlpkeEipUL4F9rSjDmlzirjgxGUCLLG2Go1ct+nPbpjk+4Kj4JuT2k+ABTpXwI6VXCr5ke+YIesBR8i9BucMz+fqJe4Zp5YBAkVaFhooJWujkdCcUCSscV4pmhh7NXZOkslkji0MnFyYpzSig8BELJhFLQENCIluSqphR1xhAUifiv9EIWysE9iV5dktIJSULpW31rvfwFC40YDUCbXC+ODS9MZNGzn43abgX+en9Y0A+Lm9c6Z6LGgP1YC2ipRSffAE6lL3UhmPkQfhllxv/OPsW3pSEtXigX7Pxc+95SoqtDhZlmEzhuBIfCMDeS8ttfFeWpmLwkG5wIzBCCmsvfEkgebSHJzsiP6ga3WiK8WDDq9pEr1NE6X+QjC8dli9QGVhPszT/4l0kCYsPsA4YGQjAE+iWT2CEtEiRAYe7ZE5kEwXeSEyOpHFLEUvMg9WWDX9+1TvWUbkLMVo06Gj7S8jhBrVq0cWkN25yBKnyR/x0NcPQFQQItaoqvmZOc7KRh21IkBxizV+WPRKqV5itmggpkBArZ/mPjhQTn08xY9H6CfQERYhhKnUDd5RtJFwgLpiIv5ta844C3b2vOQpMlIhwVJekBul9CEDVAqItbby2M2EhA0rwb0rRqdQh7TesOSPPfBWKU91YhpSilTg+Xw86jxsm8OJii752mSMYZXHXWo4Hz5R8i+Ce7MfWN4avcpxXM42REnqfRiQ0FoVWo6RUQqZZ1P8Fi9cMGoZm2E4QKcANpBli8UCEmdNbT2n1bg2Dkn4F5/D9wtp8qgO8JQhG35hgU0QPINcpilwqZmzhTkWGQlhsZ3KkZbmeAukuQ7lbQLvw7ZIp/kipjdriyWIYoSVqC9AWElY9i4OHZWbUVYNUb4W0Wi0WQfH2jLTIgMVkTU6HosuG5zaealXJzRsfZSezegpowGpKtAaqf/o2TzVuytIdsFGQrvmWDFP1ihFuWaFJZkUc2xmo101xWaRaaqtpfWR6cNsZEkqFPkKUIvLumIJ0b4AlS9SJ62CIclHWCZmT82DLTFhktpfVZOVbE5tuSGQmnLyptO6Q+aGcRRjQ0iOXqbFrR2RrUxqjnPmYbk1acSAh0av9MLj6MzYwBpMdGx6ptT+oPsxJ4paH9sRya+t0JbIeldIakuH2hD7jxOO/CZLX/1p84IjWAYODMJPp+E22JXOa8xkhbGHL3zSGBEbJR9J7ZwmJQYcusHUoJBBikUg7qj80+RW3pPq/bwrDwEuhX0cv2oc+S0ZwEn8N0wMl7fmrzcnhpKwNf/wDOY6WmddmmeyhhPBkWrMoPImjeGmnQUH5BUyG0bd6bgkZepMZFW6yGnLRB4NR948KTrQR+UCiI76pap3GLzI2F2JyUzGgMnzRVxPSeHCABkOv74qWt4aufKdj1O9dun9h/gY7z8enOR1x8LswWFG7aYvWBxqTpcskTINQH++wLiZA1eYCV0FxC/H8xNfpqhkSEGqA1ZxWHFPzea0D3KpwU/8R7YjgRndcAcLENVZzlWSoABiahM1io6d1Gx8f4g10sqMFSCFVka1C6MSQyRPLxcmTszJU0Zm6WcYMfvxgbpFGo6wzsdFq5yY/eoBwal0E5amd0mj4Mivg76iJVzBrit8x8PZeCyMEQwfGkUl4HXglfBEvcBRanprpuqhI55nGXPp+ApNrcCFY1nt6tkW2DB1hSpGkGc62MdnjDnwwx+stmwrZQmSn/1YYSpDHKq8Sa/m0u8X2LPAmO64i4Lk+EjgjLHm8ZteoK2QU6+gwystjEkxJYGt9rsIwiVuNV0mRIeKh8onwm9ZcBFvw4iIep9J7lSdISUYron+JObx9SAYmyssHhIasYNmcqS41N8nsdA7R7yKxxt6bmsTTfIML0bpR5UUzy79Kk8IvWAXkMsVvVrGH8Sk3gxGi5+wARqPL/LvdnxDLK9AtIZF7Nqn3/VYbuWjO/3pEDo00wD+5CaVDTgpPotRBJIzcp2yatWDGtiEgxIrtW3FCZbR2rM8hZQBYgOIM7gMQoaNY2ylv90rrxk1Be4GYGyh7Mlk+5GS7UB/jsUe7DTD8ThpUl4v4Ktbk1yRFUxQ9Dh8cwtlhnVWR3mWFpNxVBYbkgZhJi8V8yv7LRTo0x+ppDpfZjHaK1PO8GsaMlWohHkk4J4OF5NP5WdcWvbbGI6d2WR0oP7iOyN5LwVVN6hYtlgrwThPCIpj/+YF7s3+YI1+w/iokx2OYQGVTXB++z+nem/RDQplbmRzdHJlYW0NCmVuZG9iag0KNiAwIG9iag0KPDwvQ29sb3JTcGFjZTw8L0NzMSA3IDAgUiA+Pi9Gb250PDwvRjEuMCA5IDAgUiAvRjIuMCAxMyAwIFIgL0YzLjAgMTcgMCBSID4+L1Byb2NTZXRbL1BERi9UZXh0XT4+DQplbmRvYmoNCjcgMCBvYmoNClsvSUNDQmFzZWQgOCAwIFIgXQ0KZW5kb2JqDQo4IDAgb2JqDQo8PC9BbHRlcm5hdGUvRGV2aWNlR3JheS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDcwNC9OIDE+PnN0cmVhbQ0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPTm9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWVZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+aiKCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhDGinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYqy+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M70Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqNV8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9knOabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qsHCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2tn9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYNCmVuZHN0cmVhbQ0KZW5kb2JqDQo5IDAgb2JqDQo8PC9CYXNlRm9udC9OQlVIVlYrSGVsdmV0aWNhTmV1ZS1VbHRyYUxpZ2h0L0VuY29kaW5nL01hY1JvbWFuRW5jb2RpbmcvRmlyc3RDaGFyIDMyL0ZvbnREZXNjcmlwdG9yIDEwIDAgUiAvTGFzdENoYXIgMTEyL1N1YnR5cGUvVHJ1ZVR5cGUvVHlwZS9Gb250L1dpZHRocyAxMiAwIFIgPj4NCmVuZG9iag0KMTAgMCBvYmoNCjw8L0FzY2VudCA5MzEvQ2FwSGVpZ2h0IDcyMy9EZXNjZW50IC0yMTMvRmxhZ3MgMzIvRm9udEJCb3hbIC0zMzcgLTIxOSAxMTExIDkzMV0vRm9udEZpbGUyIDExIDAgUiAvRm9udE5hbWUvTkJVSFZWK0hlbHZldGljYU5ldWUtVWx0cmFMaWdodC9JdGFsaWNBbmdsZSAwL0xlYWRpbmcgMjcvTWF4V2lkdGggMTEyNi9TdGVtSCAyMC9TdGVtViAyMC9UeXBlL0ZvbnREZXNjcmlwdG9yL1hIZWlnaHQgNTIwPj4NCmVuZG9iag0KMTEgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjE3Ni9MZW5ndGgxIDM0MzI+PnN0cmVhbQ0KeAGtVm1oW9cZPudcWZKlSJbkKymWbFnXsm5kSdanJdmpP2THsuU4c/xRO7qGJHb8ndmrl7ohgW71wjYy/ejyq6WwHyUdhULptEGDavYjjH3Qsh+GdT+2ZCyFFcYYoz+SDcZs7TlXslmHKYVN4tF53/ec8973POd93ytCCSGnyC4RSHZpa3GbvEiewfJroLx0c8dLRHwJ/TZ0zer22lbIMvoL6HcJYe+vbd5ejb5uqWAqS4ju6frK4vJfO30X4bAL69PrMGh/xf4BfRN6+/rWzi37q/RD6PeghzdfWFrUxwyr0H8K/fTW4q1t5hdGoH8M3fu1xa2Vf/3kYyv0p9Dj2y+8uEPeojcIMQWgd2/fWNneJoY56AvQ9QDFl39OES15F6OXTNUsqvl/+mHYLZzgQaPa6k6YOTJpa4LuyKCOelKvjgbOcRl8jJdJ/WThx5S+qpRp5TtlMtzyAdYIV690lgkNe725jeESXYDCwjAEJUhC2DtSEvwj0wWf4i16i2PLRe+Id31xuaTxqyMmVopK1FsiM4UN/D5fkEpZxX0srijKWfjRcD/YguVFBR6u1zxgVE3RAyyqC497S4I8WZgqlHaH3aXssOKWJG+u9HCyUHo47JYUBau0x5Ei4m9snK7FrEPM2iDm9VUvM/ABF0qxyH1CY7JUelgsuos4iWrxSWVKagaclK8R/LkyzU4W+FTWJ7m5wSf5JMShDMN3fXh8ppBDJBKPxPDFlBqPA8XaUwjPqFJq+j9Rav4ylDZ8KUotx5F+jlIrYrZwSm0nU+r7AkKPGc6ewPBuleHdExhu/A+GefoykkDZ/QzFIRAdMRJkSRTpFI3F/ZJV8lslK9073KW7h7foPT39TH+IHdV9aWxeYB+hVpvIVpm4o3soVRMRQshtC3RAfFwmuseDdeT38P0XgF0edKMkdNiiIx1ADzAGKMAGcBv4HvAG8A7wAfAhYLqMyMyIjCKyjDWZ8DC7aGY+AWI/S3VFmO/8J+m16UR89usDTx4N3rrSnbm0lRLZfc9X7izPvTLTwR4cpAOzdxc2ilMSDkAJ4qd/Q/z1pJVHrjmOXLtfY4HieTo8r9EqpSRrEr/n6Q8P8yJ9mX6TdosHaXodzZVzyLmIqVw4yUtl0gQuzCCTc2EGD2QfNow68GGr8mEDH7YjPmzgwwY+bODDBj5s4MMGPmzgwwY+bODDBj5s4MMGPmxVPgjiO+IE0alEyD7JingTDpWe81RIzPS23Vg7/KNITcuLnlQ+SHNN8bHo4jWEr9DL87PBbKeT8yFVPmMp9oj0kZk90orWy6NvtXBukBy1W23FKYw4jZFfBWQ7ZHtNDuJ0fL4LI58beAwe/ZjsAYc0GRF8bWbcmoc5PYIaXVuEpXxaDzu6wjMRIdXVD9XDWKMoBM4pqdClkXAwNxfqUMaiHUMzwZ6rOVmkHeNrfZH5fPjMkJKIFHKh4OCkP/Z8n5+x3pmk0xYcTXUNnnEYDI3+gXRkKNjY1K1khxf6mu3RfLJ7KHDaZBTbz8ZiA3KDGB3n9+eoPKOfMjOJkxHy+h4oaFRP3Pe50++RAG/nYCKA09UDzfvVMbGPtNZimwOQgTQwAswBq8BN4LvAa8DbwAPgl4DpMorjtxA+Bdjlquc8580B3jRIo2b41FhtPcjCZD89ynudGQw6OG+ZJITnaMpMIzRlrXJcd8xuV782kxbr5qeSva16Z/xCyptNtF6ZCAynfHomOTwGp3iKNkf62mKjcRctuFMTiWBPe4Mr3NM7kA4a6FL+ojuYcLa0NtQJzCSdjeVy9vZI07kWu0hpnbmBjga7fWZXZEC5KuczbXYp5OhIthg1TN9g5rw2VZ7SP4BXN1gZ2EMe8ZrgGdV8nFGN4LARh20GnyJkETKB3MKrsI0rgJFXvZRGlddSKJNIZ3xm6kMK+aV+gfPSSd9jTZlLvaHpftmVnu0t3DKKpq9OZS7EnPSNw1WhLTMWTFxIug5S1y5E2nPL2Z6lsQBdmp+dlYeUfHquz+vPziK0DMIcRy0LxLmn/mHgNy5YEA3vB0TtB0lrRmQfHaSxDB91D/sNs5AYqezhp1ovMZyC4UR8NPGq30d7fAKgC9aRNyGUqkojNpiIBfACMSALTAILwDawC9QjPSwoLRd39SZxYber6mofwpOqwl254MoFVy64csGVC65ccOWCKxdcuVRXLXBlQWR+ROhHosl4hAWJVo03AmsEx23BigTPR3523mvcgB6wq1so0WPLHomCAy7xXpm01mrY/l8ivz2tzhehOlyizpfKiM5QvxxKe4yiI9jrD2Ykk2iR+6O9hQZmmur1pMIeHWPs4JD6QhPP+Zpj2fbDB3SkfTDRcjrcLx++R6eDuXjzULpnkNnlhOcVnB05l6lM0r8j506TIHmnTMII1EGcar45cBrei/nIb4bhIGHIBnDBbUf5x2Ve2waMcrVfy+jX8lG/ltGvZfRrGf1aRr+W0a9l9GsZ/VpGv5bRr2X0axn9Wka/Brf8/cUzWUI4/A0qqbzZa1Is7rQmPSjv2rusSpDPmmmTjzoir+lxZrs+nZrOtHh6ppJnznXJBib+6cqN5tREPDEeb3LGxks0OzIbOn8tffZaPuAM9rTdO5gof+t2Yn44EMgpiU5ltJPnqwrhd4OvXW3ofUatwp9hIT///nbr8eioTCKjH0GvV+PlE9gnvFUJEbdm9fBHlXnNJdUTnzn6GOlTkqAOXMNdkqafkDTrB5aIBNmBuSZyh2QEA8mwJrXOmtEIXib3qYbeYRF2l90X1oV/ql6NZBPPbQOq/zfwooX4Puaq0dtqz9biVUUmhmbzc3Oh/MrmzZWdjaXFiZWXVjpnN3duLF7YWFvf4dFVvZDKD/j/nRM+RtgEcgaXmkT3HiZ5chFlM4McQPWT0L8B6wCt+g0KZW5kc3RyZWFtDQplbmRvYmoNCjEyIDAgb2JqDQpbIDI3OCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNjQ4IDAgNDgxIDAgMCAwIDAgMCAwIDAgMCAwIDU3NCAwIDAgNjExIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDgxIDAgMCAwIDUwMCAwIDAgMCAwIDAgMCAxMzAgNzc4IDAgMCA1MzddDQplbmRvYmoNCjEzIDAgb2JqDQo8PC9CYXNlRm9udC9QVUFMWEErSGVsdmV0aWNhTmV1ZS1MaWdodEl0YWxpYy9FbmNvZGluZy9NYWNSb21hbkVuY29kaW5nL0ZpcnN0Q2hhciAzMi9Gb250RGVzY3JpcHRvciAxNCAwIFIgL0xhc3RDaGFyIDIyMi9TdWJ0eXBlL1RydWVUeXBlL1R5cGUvRm9udC9XaWR0aHMgMTYgMCBSID4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9Bc2NlbnQgOTUxL0NhcEhlaWdodCA3MjIvRGVzY2VudCAtMjEzL0ZsYWdzIDk2L0ZvbnRCQm94WyAtNDA5IC0yMTQgMTA5OSA5NTFdL0ZvbnRGaWxlMiAxNSAwIFIgL0ZvbnROYW1lL1BVQUxYQStIZWx2ZXRpY2FOZXVlLUxpZ2h0SXRhbGljL0l0YWxpY0FuZ2xlIC0xMi9MZWFkaW5nIDI4L01heFdpZHRoIDExMjAvU3RlbUggNTgvU3RlbVYgNjcvVHlwZS9Gb250RGVzY3JpcHRvci9YSGVpZ2h0IDUyND4+DQplbmRvYmoNCjE1IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDMwNDkvTGVuZ3RoMSA1MDU2Pj5zdHJlYW0NCngBtVhrbFvVHT/nXtvXN9fX8SN+xY/4xo9bJ3Yevo2dhGA7kdOmSYDQpq3NSGnW5lVamm2hPCZEBWPSMmlFCLEV0ITENODDWKapW8j2oZo2tHUTFCEG2vphmzZpQ2hCiNcEtfc799qBboXxYdj633vOueee8///fv/HsQklhNjIacKT0pET86u9zoEpjPyOEOo6cmotStrwJfRPGDMtri6d6Hbs/hX6fyWEO7d0/K7F+YH3Ynj0OCHyxvLC/NE3IrE+QlzTmJ9bxoAwZ3kN/a+hH18+sXZn7G5yN/pPoz99/OSR+eBa5GH030Z/x4n5O1e5Hn4/Ie4Q+tHb5k8svOb7dQT9EfSzqye/skZ/z72B/ir6E6tfXlhdJS0H0N9E3wqh+LKPDU2L3vrUizG5OYVrNq6488S03TejdcWyAgasImmRsKVsJ62EOIhze/rn3HB9lvXBH8BJT20ScabyI0q/Vd2k9Qc2STn8HBEJf8uhzCah6Wh0fKW8QQ+jw6Ux0KWgxaejuzb4xK69lVg1uh5d33N0Pborujx/dMOU0O94sLBe7Y1ukH2VFVxnK8pGqRrcbi5Uq8NYx8TWwSuYvl7FCscaK+CuD/VexiRzeiq6wSdnKjdWNk6XgxulcjWoKNHxjfMzlY3z5aBSrWKWZVtTaHzPir+hswCdLV14bjVW2Yc1sER1fZ2tiR6XVDbOr68H12GJPhJTNilpDMBSNodPjG/S0kyFPSrFlCAbiCkxBXpUy1hbTE/tq4xDE4Vp0vLpkErbimKuDepJOqTy/wlS+2eBtPUzQerY1vQKSJ3Q2cEgdV0d0tinALqNcOkqCJ82ED59FYTdH0OY+TZHsojjXyAueSIQicBLeuFOvX39CcWpJJyKk27VTtPTtTvpg1b6prWGN9iHEh+u95NjeK+VbOGKFbpBs6Ov/xqaj/lm/fuPYYwjCGjuEe4C8oWXfGkLmzj1iYJj1Ez+gM7rEG5uNIhQcZIAJAUZguyBVCErkLsg34CchTwDeQ7yG4g8t0n8l7C/DI3Y/rJjC7va9TaBLm5eyRa4gZ09XIy6taynzc6pTzxGWw4/dCQbLC1fV7t435OvJvfeW+UuXM7tuuOx2dGVqdTlVe7Aq5PfvLXEch3Tfwn6i6QD6NBetr7QWH8LqYrX2xZ9L82t5BXId8+W99AvSLWn8vQBG1uZzg5Tbngbj3t0PILk9i2AYizmNfAQgIfQxEMAHgLwEICHADwE4CEADwF4CMBDAB4C8BCAhwA8BB2P8CXoaYeeV2Li2MYkSLVshGNQxCSqAZUGQN8pvqQMJD3BvlLi9UfLYx/mbhpNhLXxFD1O43KkP65e2+Wlh2BMtuOag/nUWMbP/GAc+NwLewQSxL68jo/BBXEAL4j5IngQNB5b5W+0vXOmfOYdgDIMlB9kkBCu/n79Lfpbzk1KZJa8t0n2wwUPQPKXENSXdD+RgIvUxEUCLhJwkYCLBFwk4CIBFwm4SMBFAi4ScJGAiwRcJB2X/VDFexECFTuAe97pGsL6GI1jNI5RleSJtD2awWgGWngxY/ISHNRCJvHaJElCcpBdkAOQRcgpyNchj0C+D/kJ5HmIPAf1X0HjbxBuDp46DpyYp47DU0eY/6A9wrxHK/AGLxbBkhTsvKctwmnZXN5npx6vli1SO411Jgd2Frh8gdc9utPOmQU22gMP14fzhaI5nM5FXGqHp6Mjsk+LlbLhQPdIPPfFIEcpNxAMiIIkSF6TVRZNUosQzxXbU5PDKs22tR6a9nZF3V2F3WGbEg1b6bFoJmizOMI+rctqpVaLJz6YSuY6Hf0ZTrALeXM/pYLd5k8OdTszvT3uWLq9pS1Vuu/g+N4WXyyQyvgEjnIWSdQ5JnZw/A9wLJEu8q9N0g1k0xAHOBYNjkVwLDY5FsGxCI5FcCyCYxEci+BYBMciOBbBsQiORXAsgmNR55iAM4JVu8FZO9rtaKcM7lLgLgXuUuAuBe5S4C4F7lLgLgXuUuAuBe5S4C4F7lJN7lLgLgW1UGSwoo3pjNVltGX4TBTHERE+A2bjJKyzGQezngazHrQpch9jmYJlqjCWvZ42i1kp0CaLnjYQnMvHmlzSZ2o/tHZqo+rYFK09RR/muXZtondseSJx69LcWnvRVSkmhxIumoyPaR3Xj7W4S760NzM5EB68+fbC4trNlaHdID3mZfGJIww9hPj0kW7Epwcqyw3dWK5kxzNDt03ihEksZt2IV6TwfAF5wuvL98DBLK00pkcwDdkWW8VkusXdIjmizlLB5qjablosLtIXByaSMRO308yNDU0N1Prpi4x3Wn8Xl79g/w7yVQaLrG/nMbKdDMblJuMyGJcZ7GBcBuMyGJfBuAzGZTAug3EZjMtgXAbjss64wrIdo5xCnLCuHadUZlE7rIsw+0AOqwOa+6P4QidnYG8RYu4zZwtDLTtypU6PGnGZ+Inibquva6hz+HCQK+rJW+y/IR9p8cba5aCt9mM6tcOTGFAcxR4aR+6CfeQF2Pfx+klQP5Hx8gI2OuMteo/dVjjJXVhYeP7yh5zJwKTxDqu4THP9DTb7bOFRticWNObxZsRML/lgk/RhWj+kDxRJoEpC2/BCjGMsikjyG5HkB67+Jq5+4OoHrn7g6geufuDqB65+4OoHrn7g6geufuDqB65+Hddm9ESxchi7hbGbhLZqRJOKaFIRTSqiSUU0qYgmFdGkIppURJOKaFIRTSqiSUU0qc1oUhFNKlRr2G3HskGw1tVgrQtbWCEebMnaMVY7GtwhagAokp8eQAxbFkFJeKcQ051UUPNHbysMtiSyhc6elGWiqEmRzLUprdeypzjBm8pTw3MRzjyWGz4c4to40+UPqSVzw3BnLulvr238M3twNJlNBoK1Z+mMI2wfmS705fOFDHfTx/3YDT8+8bn58X/78EfWs4ptYUZ/5LnM2qt67nyYc+n2fZLnHmI2cfWX62OcE/7lJzvYWcROQnro2I3oDMGLQk0vCsGLQvCiELwoBC8KwYtC8KIQvCgELwrBi0LwohC8KAQvCule1MWik52Z3HidRaUbUakgWbO2wqoeDNIiYLRxBmFc5n0sQeJ0YlS7Y98uFDlzJD0YGV2eVP39e7LlgwrX9r3d5VB+X258KjI0C1sLNNGRCckjt9wx0nt9vmNIm0tWxnoXZnMz431L+/MGhzXUoHOwd4Q8yY5x7JiyhYKk6eow72bpz2PEkAbrtab1GtTXYL0G6zVYr8F6DdZrsF6D9Rqs12C9Bus1WK/BenbK0BrniQ64OYtPtn7XRQjro11gZ9fBRj4eBDYJ5C+GTQLY5GMWdgIwkFF7UPML6EY4QcvhOIvijxOCxQCqhysUuGhudzIxOZJQ+q8JepHKAomMp71HcXFFGuwvpzrKg3G/ms1m1UAg2eMJDqQCT/ePp9sciZF0vK/TJ4kub8gV7HRb5VBXJFPc4XJ0DiSjGcXX5g50tgfiPskWwa8FwNZWfwul3QQDV1g58egqyw79jCQjM8jIDDIyg4zMICMzyMgMMjKDjMwgIzPIyAwyMoOMzMDSuH5GkpEZWDFoZAaWy60NNKxAQ3HHeDtvnHVyeXRgunFA0gT60MnikLRjoBj7jxRuBELtPSOBxwNI4PS62jk9gbcWeg4ha7P6+JJeH4Owp4jdPSAnjN3/d51EAgaJfhDKzrkh5KpPqpv5RjX4xPr5R1YmThZPXqWOftAsHDr2DH+y69mfBW5pHXmHOvm/M9f+5ZnVjuadRTWqxgX89sJpio3ig3f4n9a7Sch0uLZU32uawnuvGI8aVzd9m2QpOzJ4iY/7ATFzAcgpSJqMc0L9fU4gdgq8uABq3nOG8KP1d1mfK9Rfpn+u1/BOG/05wxQJIET6yINkk0bpGLeTe5Pv45/gt/gXTA+bauZTlnbLactrTC/khrvAA2ppQ1v8G4bmOTxjT9kJht3Z30JRQmb2j05XRrsnFo6fWlhbOTJ//cLtC5nplaXltT1r88dXjmAebK7j36764+y37VU+bozx+PGo6gGdJ2UygZCeItPkBjJDbiT74LEVch5/QCAQSfe/AeiByAcNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNiAwIG9iag0KWyAyNzggMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyNzggMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNjg1IDAgNTM3IDAgMCAwIDAgMCAwIDAgMCAwIDYzMCAwIDAgMCA1NTYgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTE5IDAgMCAwIDUxOSAyNTkgMCA1MzcgMTg1IDAgMCAxODUgODMzIDUzNyAwIDU3NCAwIDAgNDgxIDAgNTM3IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA0NDRdDQplbmRvYmoNCjE3IDAgb2JqDQo8PC9CYXNlRm9udC9OUFBPQUQrSGVsdmV0aWNhTmV1ZS1MaWdodC9FbmNvZGluZy9NYWNSb21hbkVuY29kaW5nL0ZpcnN0Q2hhciAzMi9Gb250RGVzY3JpcHRvciAxOCAwIFIgL0xhc3RDaGFyIDExOC9TdWJ0eXBlL1RydWVUeXBlL1R5cGUvRm9udC9XaWR0aHMgMjAgMCBSID4+DQplbmRvYmoNCjE4IDAgb2JqDQo8PC9Bc2NlbnQgOTY3L0NhcEhlaWdodCA3MjIvRGVzY2VudCAtMjEzL0ZsYWdzIDMyL0ZvbnRCQm94WyAtMzQzIC0yMTQgMTA5MyA5NjddL0ZvbnRGaWxlMiAxOSAwIFIgL0ZvbnROYW1lL05QUE9BRCtIZWx2ZXRpY2FOZXVlLUxpZ2h0L0l0YWxpY0FuZ2xlIDAvTGVhZGluZyAyOS9NYXhXaWR0aCAxMTIyL1N0ZW1IIDU4L1N0ZW1WIDY4L1R5cGUvRm9udERlc2NyaXB0b3IvWEhlaWdodCA1MjQ+Pg0KZW5kb2JqDQoxOSAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0OTEwL0xlbmd0aDEgODMzMj4+c3RyZWFtDQp4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TQ3K+aFjim7xHw7/V/D3UedHMs846PxIvLrzHytPiCcJ9ZixyPFnMuFdoYtPvPP2Cevo77ldov972fceWw1oV2RvGWQ/P0O/BT5M/eA96dXNJPPpTtWf2azpJpSZGjeVS5T/jg1ymAboGGhRXNh8R1xhUfEcmxL7QR6c+V9ne+gq4TwK93aJCxi/wEJ4piL24/kmFhQlNoprF65RunKJGUQKfQ9s9EXkcy9u/pKumGOUxpR79A6e50U2yn/BAryHNdE91DskgRffSXaSrbH3+En+ZX6Fv87fEVXxefGm9FXpdek93Xf1e/UbhqOGHzT5m37a3NO8t/krzd9qOdDyN8ZR449Nq6anWmdbn219x+zFbKTDKPs0Zg6CVA0hEqN5GfdUDbc19GOgtGfv3Ny+Co40l89dWH5wZWlx7/IfLPfOrtx95sHG22zzr+j/vNt8ohiTEPrt+Mc6imylB44lxfpRJA2wDMvh2HaYVdkEpNsF7e5m02yGzeK/iX3IPvezA+wgO8TuQJYxzxYYkh8YEIyJJf8fTQtXWg0KZW5kc3RyZWFtDQplbmRvYmoNCjIwIDAgb2JqDQpbIDI3OCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc4IDAgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDYzMCAwIDcwNCA2ODUgNTkzIDUzNyAwIDAgMjIyIDAgMCA1MzcgODMzIDcwNCAwIDYzMCAwIDAgNjMwIDAgNjg1IDU5MyAwIDAgMCAwIDAgMCAwIDAgMCAwIDUxOSA1NzQgNTE5IDU3NCA1MTkgMjU5IDU1NiA1MzcgMTg1IDE4NSAwIDE4NSA4MzMgNTM3IDU1NiA1NzQgNTc0IDMxNSA0ODEgMjk2IDUzNyA0NjNdDQplbmRvYmoNCnhyZWYNCjAgMjENCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAxNyAwMDAwMCBuDQowMDAwMDAwMDY2IDAwMDAwIG4NCjAwMDAwMDAxMjIgMDAwMDAgbg0KMDAwMDAwMDIwOSAwMDAwMCBuDQowMDAwMDAwMzEyIDAwMDAwIG4NCjAwMDAwMDQyNTEgMDAwMDAgbg0KMDAwMDAwNDM2NiAwMDAwMCBuDQowMDAwMDA0NDAzIDAwMDAwIG4NCjAwMDAwMDUyMDQgMDAwMDAgbg0KMDAwMDAwNTM4NSAwMDAwMCBuDQowMDAwMDA1NjM0IDAwMDAwIG4NCjAwMDAwMDc4OTcgMDAwMDAgbg0KMDAwMDAwODEwMSAwMDAwMCBuDQowMDAwMDA4Mjg0IDAwMDAwIG4NCjAwMDAwMDg1MzYgMDAwMDAgbg0KMDAwMDAxMTY3MiAwMDAwMCBuDQowMDAwMDEyMTEyIDAwMDAwIG4NCjAwMDAwMTIyODkgMDAwMDAgbg0KMDAwMDAxMjUzMyAwMDAwMCBuDQowMDAwMDE3NTMwIDAwMDAwIG4NCnRyYWlsZXINCjw8DQovUm9vdCAxIDAgUg0KL0luZm8gMyAwIFINCi9TaXplIDIxL0lEWzxGNjcyQjU4MTI1OTZDQTNFRUYyMDY2NDI0QzExRTY2Qz48RjY3MkI1ODEyNTk2Q0EzRUVGMjA2NjQyNEMxMUU2NkM+XT4+DQpzdGFydHhyZWYNCjE3ODAwDQolJUVPRg0K");
DeliverFile(context, invoicePdfByteArray, "application/pdf", invoicePdfByteArray.Length, "SatementOfAccounts");
}
}
public bool IsReusable
{
get
{
return false;
}
}
public byte[] ConvertBase64ToPdfByteArray(string base64String)
{
return Convert.FromBase64String(base64String);
}
public void DeliverFile(HttpContext context, byte[] data, string type, int length, string downloadFileName)
{
context.Response.Clear();
context.Response.ContentType = type;
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + downloadFileName + ".pdf");
context.Response.AddHeader("Content-Length", length.ToString());
context.Response.BinaryWrite(data);
context.Response.End();
}
}
HTML
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<div>
<div clientidmode="static" runat="server" id="loadingPanel" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 9999;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
<img src="Images/loaderarrows.gif" alt="Loading..." />
</div>
</div>
</div>
<input type="button" id="btnUpload" value="Upload" />
<script type="text/javascript">
$("body").on("click", "#btnUpload", function () {
// Show the loading panel
$("#loadingPanel").show();
// Make an AJAX call to confirm download readiness
$.ajax({
url: "FileHandler.ashx?prepareDownload=true",
method: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{}",
success: function () {
// Trigger the file download using a hidden iframe
let iframe = $("<iframe>")
.hide()
.attr("src", "FileHandler.ashx?download=true");
$("body").append(iframe);
setTimeout(function () {
if ($('iframe').contents().find('*') != 'undefined') {
$("#loadingPanel").hide();
}
}, 2000);
},
error: function (xhr, status, error) {
$("#loadingPanel").hide();
alert(xhr.responseText);
}
});
});
</script>
Screenshot