我正在为一个网站编写高级图片上传功能。为了在将图像上传到服务器之前执行所有图像配置,以避免浪费客户端和服务器资源,我尝试使用HTML 5功能来支持完全的客户端功能集,并在完成所有图像裁剪和其他编辑后进行批量上传。
我的页面上有一个拖放区域,允许多个文件拖放来选择要编辑的图像。在拖放时,我创建了一个图像编辑器列表(使用window.URL.createObjectURL
),其中包含一些表单字段、简单的元数据提取预览,并为每个图像附加了Jcrop。我遇到的问题是当我附加Jcrop时。尽管我在撤销URL之前(使用调用window.URL.revokeObjectURL
)附加了裁剪设施,但Jcrop似乎直到太晚才尝试访问URL,导致我丢失了一些图像。
我已经不再调用revokeObjectURL,这样可以使一切正常运行......但是我不确定不撤销会对资源使用产生什么影响。这是否允许出现内存泄漏的可能性?刷新页面是否会释放未撤销的对象URL并回收它们的资源?