zoukankan      html  css  js  c++  java
  • MS SQL Server图片与base64String之间相互转换

    原本把一些静态数据永久存储于数据中的,但是在angularjs或是Vue.js显示时,却是遇上base64String转换的问题。

    可以尝试在静态数据上传时,不要存储为Image或是Vbinary等类型的数据,而是直接把数据流转换为Base64String之后,再存储于数据库中。

    但是,如果已经有数据存储,但是在前端去把数据流转换为base64String时,即是有点小麻烦。所以,建议在数据库中,直接转换,再输出给程序前端。

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:        Insus.NET
    -- Create date: 2020-08-17
    -- Description:    把Image二进制数据转换为base64String数据
    -- =============================================
    CREATE FUNCTION [dbo].[svf_ImageToBase64String]
    (
        @Image VARBINARY(MAX)
    )
    RETURNS NVARCHAR(MAX)
    AS
    BEGIN
        RETURN (CAST(N'' AS XML).value('xs:base64Binary(sql:variable("@Image"))','NVARCHAR(MAX)'))
    END
    GO
    
    
    
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:        Insus.NET
    -- Create date: 2020-08-17
    -- Description:    把base64String数据转换为Image二进制数据
    -- =============================================
    CREATE FUNCTION [dbo].[svf_Base64StringToImage]
    (
        @Base64String NVARCHAR(MAX)
    )
    RETURNS VARBINARY(MAX)
    AS
    BEGIN
        RETURN (CAST(N'' AS XML).value('xs:base64Binary(sql:variable("@Base64String"))', 'VARBINARY(MAX)'))
    END
    GO
    Source Code

    看看效果:

  • 相关阅读:
    Luogu3119 [USACO15JAN]Grass Cownoisseur G
    BZOJ4361 isn
    洛谷1330 封锁阳光大学
    codechef AUG17 T2 Chef and Mover
    codechef AUG17 T1 Chef and Rainbow Array
    【bzoj3211】花神游历各国&&【bzoj3038】上帝造题的七分钟2
    noip 瑞士轮 ————归并排序解法
    记录string的妙用
    洛谷P1550 [USACO08OCT]打井Watering Hole
    汕头市队赛 SRM 09 C 撕书
  • 原文地址:https://www.cnblogs.com/insus/p/13521297.html
Copyright © 2011-2022 走看看