使用 Worklight SQL 适配器从 DB2 存储和检索图像?

Posted

技术标签:

【中文标题】使用 Worklight SQL 适配器从 DB2 存储和检索图像?【英文标题】:Storing and Retrieving images from DB2 using Worklight SQL Adapters? 【发布时间】:2014-03-04 06:45:58 【问题描述】:

我正在尝试将图像作为BLOB 内容存储在DB2 数据库中。我使用JS将图像内容转换为base64

 function loadImageFileAsURL()

var filesSelected = document.getElementById("inputFileToLoad").files;
if (filesSelected.length > 0)

    var fileToLoad = filesSelected[0];

    var fileReader = new FileReader();

    fileReader.onload = function(fileLoadedEvent) 
    
        var textAreaFileContents = document.getElementById
        (
            "textAreaFileContents"
        );

        textAreaFileContents.innerhtml = fileLoadedEvent.target.result;
        var ImgContent = fileLoadedEvent.target.result;
        $("#IMAGE").attr("src",ImgContent);

    ;

    fileReader.readAsDataURL(fileToLoad);


现在我需要将此base64 内容转换为二进制并将它们存储到我的DB2 数据库中。有没有办法在 javascript 中做到这一点?

以及如何从数据库中获取这些数据并使用Adapters 将其显示在我的移动应用程序上。 ?

【问题讨论】:

你为什么要转换成base64,只要用FormData上传文件,然后在你的服务器代码中读取文件作为流。 Worklight 中没有服务器代码。看看这个public.dhe.ibm.com/software/mobile-solutions/worklight/docs/… 您可以在您的适配器中编写自定义的 javascript 过程。您在哪里使用问题中显示的代码? 【参考方案1】:

为什么不简单地将图像编码为 base64 存储在数据库中?我认为这在您的情况下会更好...

    您会收到一张图片 您使用一些库来处理 base64 的编码 回顾这个问题:Base64 encoding and decoding in client-side Javascript 您将图像存储在数据库中 - 现在是一个字符串 当您需要在应用中显示图像时,获取内容并对其进行解码(参见步骤 2)

【讨论】:

我会用这个方法,你我的反馈

以上是关于使用 Worklight SQL 适配器从 DB2 存储和检索图像?的主要内容,如果未能解决你的问题,请参考以下文章

诊断 Worklight 6 SQL 适配器问题、JPA 跟踪

使用 Worklight 6.1.0 触发选择查询时出现 DB2 SQL 错误?

从 REST 客户端调用 Worklight Javascript SQL 适配器

Worklight 单步验证和 SQL 适配器

IBM Worklight 6.1 - 使用 SQL 适配器连接到 MS SQL 失败

IBM Worklight - 无法显示使用 SQL 适配器检索到的数据