8

我正在为网站编写高级图片上传功能。为了允许在浪费时间和客户端和服务器资源将图像上传到服务器之前执行所有图像配置,我尝试使用 HTML 5 功能来支持在所有图像裁剪后批量上传的完全客户端功能集并进行了其他编辑。

我的页面上有一个放置区域,允许多个文件拖放以实际选择要编辑的图像。在放置时,我创建了一个图像编辑器列表(使用window.URL.createObjectURL),其中包含一些表单字段、简单的元数据提取预览,并将 Jcrop 附加到每个图像。我遇到的问题是当我附加 Jcrop 时。尽管我在通过调用 撤销 url 之前附加了裁剪window.URL.revokeObjectURL工具,但 Jcrop 似乎直到为时已晚才尝试访问该 URL,我最终会丢失图像。

我已经采取了根本不调用 revokeObjectURL 的方法,这可以让一切正常工作......但是我不确定不撤销对资源使用的影响。这是否允许内存泄漏的可能性?刷新页面是否会导致释放未撤销的对象 URL 并回收它们的资源?

4

1 回答 1

0

假设此处实现的拖放功能仅获取指向本地文件的指针,不撤销 URL 不是什么大问题。

另一方面,如果创建了图像的 blob,那么如果 URL 没有被撤销,则需要考虑内存。

于 2019-03-06T02:33:25.343 回答