通过javascript下载Base64图像

通过javascript下载Base64图像,javascript,jquery,Javascript,Jquery,我正在制作一个图像面板,显示图像标题和下载图像的链接。我有一个onclick函数,它从数据库中收集base64数据,然后对其进行“解码”。然而,当我解码它时,我得到了一串中文文本…这显然不是我要找的 $(document).ready(function() { $('.downloadAttachment').on('click', function() { var documentId = $(this).attr("data-id");

我正在制作一个图像面板,显示图像标题和下载图像的链接。我有一个
onclick
函数,它从数据库中收集base64数据,然后对其进行“解码”。然而,当我解码它时,我得到了一串中文文本…这显然不是我要找的

$(document).ready(function() {
        $('.downloadAttachment').on('click', function() {

            var documentId = $(this).attr("data-id");
            console.log(documentId)
            $.ajax({
                dataType: 'json',
                //data: id,
                async: false,
                type: 'GET',
                //url: baseUrl + 'rest/incdDocument/getAll?branchCode=' + brCode + '&receivedDate=' + receiveDate + '&complaintID=' + cId + '&incidentID=' + incidentId+ '&documentID='+documentId,
                url: baseUrl + 'rest/incdDocument/get?branchCode=009&receivedDate=03/10/2017&complaintID=170&incidentID=3'+'&documentID='+documentId,
                success: function(data) {
                    if (data) {
                        var image = Base64.decode(data.data);
                        window.open(image, '_blank');              
                    }
                },
                error: function(request, status, error) {
                    console.log(error)
                }
            });

            return false;

        })
    });
有没有更好的方法提取这些数据并将其转化为图像?

搜索类似的内容? var image=新图像(); image.src=数据;(使用imagetype完成base64测试)

下载图像

制作一个download.php文件,返回一个带有
标题('Content-type:image/png');或者其他图像类型

查看数据uri,那么就不需要同时解码base64数据all@JaromandaX,但它需要有数据前缀:无论类型是什么。正确吗?是的,请阅读文档(MDN被认为是一个很好的来源)@JaromandaX我已经阅读了文档。我来这里是因为我被卡住了,无法解决这个问题。所以,您尝试了类似于
window.open(`data:image/jpeg;base64,${data.data}`,''u blank')?我没有使用php。我只是在使用javascript和jquery。因此,tagsNew image()是javascriptYes,但“生成一个download.php文件”是phpCorrect。这是备选方案2。选中canvas te从base64字符串生成一个图像。但是如果我只想下载它,为什么我要生成一个画布呢?用户在屏幕上看不到这一点