为什么我不能从 Javascript 将图像源设置为 blob?

Can*_*ğlu 1 html javascript jquery blob image

我正在尝试使用 Javascript LoadImage 库( https://github.com/blueimp/JavaScript-Load-Image )从文件加载图像。

load 方法返回一个图像对象,并将其src设置为某个 blob 对象:

<img src="blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e" width="960" height="540">

如果我将此元素附加到 DOM,它会很好地显示。然而,根据我的需要,我只需要图像数据,而不是 DOM 对象。src我需要获取该数据并为其设置另一个现有元素。因此,就像任何理智的人都会做的那样,我获取返回对象的src( blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e),获取对现有图像 DOM 对象(如下命名)的引用img,并使用 jQuery 设置其 src:

img.attr('src', src);

这导致我现有的图像对象变成:

<img src="blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e">

是的,完全相同(期望显式widthheight属性,我也尝试添加,这绝对没有改变)。但我现有的标签现在显示的是损坏的图像,而不是图像:

在此输入图像描述

为什么和相同的图像标签时src,一个可以显示图像,另一个不能显示?

tur*_*tur 5

这很可能是由于调用 LoadImage 库URL.revokeObjectURL()来释放分配的图像。

尝试指定noRevoke选项。