将图像数据传递到客户端以获取JS图像URL参数

时间:2017-06-07 19:10:42

标签: javascript asp.net image code-behind

我将图像数据存储在数据库中。我想在后面的代码中检索该数据并将其传递给aspx页面,以便它可以在某些JS中用作参数。

通常情况下,我只是在HTML中包含一个隐藏字段,并在后面的代码中填充页面加载时我想要的任何数据,然后在JS中获取它。 问题是JS函数需要一个图像URL而不是-f,这就是图像存储在数据库中的方式。

如何将图像数据转换为JS可以使用的内容?

这里是JS函数供参考:

Byte()

谢谢!

1 个答案:

答案 0 :(得分:0)

正如@Igor在评论中所建议的,我创建了一个单独的页面,在响应中返回文件流:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim rs As SqlDataReader = SqlHelper.ExecuteReader(ConfigurationManager.AppSettings("connString"), "spGetAttachment", Request.QueryString("id"))
    rs.Read()
    Response.Buffer = True
    Response.Clear()
    Response.Expires = 0
    Response.ContentType = rs("ContentType")
    Dim File() As Byte = rs.GetValue(8)
    Response.BinaryWrite(File)
    Response.End()
End Sub

然后在原始页面上,我调用将图像的URL设置为我新创建的Viewer.aspx:

function onVrViewLoad() {
    var imgID = document.getElementById("<%= hfImgID.ClientID %>");

    var vrView = new VRView.Player('#vrview', {
        image: "AttachmentViewer.aspx?id=" + imgID.value,
        width: 780,
        height: 580,
        is_stereo: false
    });
}