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

    看看效果:

  • 相关阅读:
    MYSQL编码转换的问题latin1转utf8
    Java中的局部内部类
    Java中的抽象类和接口
    Java中的构造方法
    使用Java打印杨辉三角
    Java中的数组越界问题
    Java虚拟机中的内存分配
    关于iOS10 Xcode8真机测试项目出现的问题 "code signing is required for product type 'xxxxx' in SDK 'iOS 10.0"..
    Java语言的学习
    关于导航栏设置状态栏样式问题
  • 原文地址:https://www.cnblogs.com/insus/p/13521297.html
Copyright © 2011-2022 走看看