[英]how to set the src of embed tag to pdf content from byte array in C#
In my web application, I am saving the uploaded pdf as Blob data in my oracle db. 在我的Web应用程序中,我将上传的pdf作为Blob数据保存在我的oracle数据库中。
Now while fetching the same blob data, I am getting it as byte array as below:- 现在,在获取相同的blob数据时,我将其作为字节数组获取,如下所示:-
public static byte[] OpenAttachment(string strAttachNo, bool isOverloaded)
{
OracleConnection objConn = OracleHelper.GetConnection("myDB");
OracleDataReader dtApplReader = null;
string strProc = "mySpName";
OracleParameter[] oraParam = new OracleParameter[2];
oraParam[0] = new OracleParameter("p_attach_no", OracleType.Number);
oraParam[0].Direction = ParameterDirection.Input;
oraParam[0].Value = long.Parse(strAttachNo);
oraParam[1] = new OracleParameter("p_curresult", OracleType.Cursor);
oraParam[1].Direction = ParameterDirection.Output;
objConn.Open();
dtApplReader = OracleHelper.ExecuteReader(objConn, CommandType.StoredProcedure, strProc, oraParam);
while (dtApplReader.Read())
{
byte[] val = (byte[])dtApplReader["ATTACHMENT"];
return val;
}
In my UIPage.aspx.cs, I am converting this byte array to base64 string as below. 在我的UIPage.aspx.cs中,我将此字节数组转换为base64字符串,如下所示。
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
var pdfUrl = "data:application/pdf;base64," + base64String;
pdfPreview.Attributes.Add("src", base64String);
UI Control UI控件
<embed src="#" visible="false" width="500" height="375" runat="server" type='application/pdf' id="pdfPreview" />
but somehow that pdf is NOT rendering, while inspecting in Chrome dev tools, 但不知何故,该PDF 不渲染,同时检查在Chrome开发工具,
How do I set this base64 string to proper pdf content?? 如何将此base64字符串设置为适当的pdf内容?
Instead of adding base64String as src attribute, You should use pdfUrl as src attribute. 不应将base64String添加为src属性,而应使用pdfUrl作为src属性。
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
var pdfUrl = "data:application/pdf;base64," + base64String;
pdfPreview.Attributes.Add("src", pdfUrl);
Hope this helps! 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.