View the file from base64 string instead of varbinary

This is my simple program on downloading file from a varbinary string on click.

Controller:

  public ActionResult Download(string StudentID, string SQNC)
      {
         string query = "exec spToGetVarbinaryString'" + StudentID + "','" + SQNC + "' ";
         string dataStr = GlobalFunction.DataTableToJSON(GlobalFunction.TableFromMSSQL(dbname, query));
         dynamic data = JsonConvert.DeserializeObject(dataStr);
         byte[] file = data[0].ImgVarbinary;

         return File(file, System.Net.Mime.MediaTypeNames.Application.Octet, (string)data[0].FileName);
      }

how I download the File:

<a type="button" href="ControllerName/Download?StudentID=${row.StudentID}&SQNC=${row.SQNC}" class="btn btn-primary btn-sm active" role="button" aria-pressed="true">View File</a>

Now, I want the file instead of being downloaded on click, It will appear on tab or new. I tried the method of converting my Varbinary to Base64 string, but it doesnt read the PDF file for this example below.

From VarBinary to Base64 in SQL

    update a set a.ImgStr=baze64
    from #mytemptable
    cross apply (select ImgVarbinary as '*' for xml path('')) T (baze64)
    where a.ImgVarbinary is not null

Displaying Base64 PDF File (Display doesn’t work)

<iframe width="500" height="500"
            src="data:application/pdf;base64,<base64stringhere>"

I found a sample base64 data in this JSFiddle link, I tried it on local and it works.

Image example (left one: my base64 string. Right one: base64 from the js fiddle)
enter image description here

How can I do this and why my base64 string isn’t working well? Thanks for answering.