keditor将blob生成的图像URL转换为base64

时间:2018-01-11 12:59:08

标签: javascript php jquery html ckeditor

我使用keditor作为我的文件。我的问题是图像是以blob形式生成的,我无法知道它们的存储位置,因此在将文件转换为另一种格式时,图像会丢失。

带有blob的示例图像标记:

<img src="blob:http://localhost/7b0e82ab-445b-4866-b8b5-09b4881a0544" width="100%" height="" style="display: inline-block;">

我希望我能找到一种方法,使用PHP或JS将其转换为blob。

我也发现了这篇文章但没有提供解决方案:

data format

2 个答案:

答案 0 :(得分:1)

使用AJAX:

$.ajax({
      method: "GET",
      url: "blob:http://127.0.0.1:8000/e89c5d87-a634-4540-974c-30dc476825cc",
      dataType: "binary",
    }).done(function( data ) {
        var reader = new FileReader();
        reader.readAsDataURL(data); 
        reader.onloadend = function() {
             var base64data = reader.result;
             console.log(base64data)
        }
    });

没有对此进行测试,但应该指出正确的方向。

答案 1 :(得分:1)

在您的代码中的某个地方,您有一个blob的引用,您必须获取blob url,将其传递给this link,如下所示:

// Just an example file
var blob = new Blob(['abc'], {type: 'text/plain'})

var reader = new FileReader()
reader.onload = function() {
  var base64data = reader.result
  console.log(base64data)
}
reader.readAsDataURL(blob)