I try to open getting file from DB as byte array. That's what i have:
From JavaScript i call method Viewer in controller:
$("#preview-file").click(function () { $("#preview-pdf").html("");$.ajax({ type: 'GET', url: '@Url.Action("Viewer", "Home")?fileId='+fileIdJS, success: function (result) { $('#preview-pdf').append(result); }, error: function () { console.log("Error!"); } }); });Method Viewer:
[HttpGet] public ActionResult Viewer(string fileId) { string fileName = string.Empty; byte[] bytes = new byte[] {};using (SqlConnection connection = new SqlConnection()) { using (SqlCommand cmdDownload = new SqlCommand()) { OpenConnection(connection); cmdDownload.Connection = connection; cmdDownload.CommandText = "SELECT file_stream, name FROM FileTable WHERE stream_id = @fileId"; cmdDownload.Parameters.AddWithValue("@fileId", fileId); using (SqlDataReader fileDataReader = cmdDownload.ExecuteReader()) { while (fileDataReader.Read()) { fileName = (string)fileDataReader["name"]; bytes = (byte[])fileDataReader["file_stream"]; } } connection.Close(); } } ViewBag.b = bytes; return PartialView("~/Views/Home/Viewer.cshtml"); }And Viewer.cshtml (sorry cant past code): http://pastebin.com/peybdTad
I know what pdf.js cant work with byte array. I try conver array in uint8array, but i did not work. Some may suggest how can i open a byte array in pdf.js? I would appreciate any information.