c# - VarBinary 到图像 url

标签 c# asp.net

我正在将 base64 图像转换为 byte[] 并将其存储在 SQL Server 的 varbinary 列中。我想从数据库中获取图像并将其设置为 ASP.NET image 的图像 url。

我该怎么做?

将图片写入数据库的代码:

 string str= myBase64.Value.Substring(17);
 byte[] myByte = Convert.FromBase64String(str);

最佳答案

尝试这样的事情

<img src="GetBinary.aspx?id=123" />

<asp:Image ID="img" runat="server" ImageUrl="GetBinary.aspx?id=123" />

然后在 GetBinary page_load 中(或者如果是 MVC,则使用返回 null 的操作)。

//resp is HttpResponseBase or just use Response.

resp.AddHeader("content-disposition", "attachment;filename=" + fileName);
resp.BinaryWrite(myByte);
resp.Flush();
resp.End();

编辑:这是一个 ASHX 版本

<%@ WebHandler Language="C#" 
    CodeBehind="AssetHandler.ashx.cs" Class="NameSpace.AssetHandler" %>


//-- codebehind
public class AssetHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        // place response code here using context.Response
    }

}

关于c# - VarBinary 到图像 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520441/

相关文章:

c# - 使用 Microsoft 报表查看器 : Request for the permission of type 'System.Security.Permissions.SecurityPermission' Failed

c# - 使用 IO 在 C# 中读取十六进制

C# asp.net 支持一个dll的多个版本

try finally 中变量的 C# 生命周期

c# - 显示自定义层次结构

javascript - 使用angularjs将图像路径保存在数据库中

c# - System.Array 不包含 ToArray 的定义

c# - MVC 中的 Azure Blob 存储安全选项

javascript - 未从 ajax post 调用 Web 方法

c# - ASP.NET 页面未从内存中删除