在编辑器中使用退格键后如何删除图像(从数据库中)? (草稿)

How to delete the image (from database) after using backspace in editor ? (draftjs)

如果假设用户上传了图片,但后来他决定使用退格键或删除删除图片,那么它将如何从数据库中删除。目前,它不会从数据库中删除并创建垃圾。

请指教

我的解决方案是,我将编辑器的内容保存在我的数据库中为HTML。

我的组件中有 2 种状态:编辑器的当前状态 (editorState) 和包含用户保存的内容的编辑器状态 (savedState)。 当用户点击 'save' 时,我将 savedState 更新为等于 editorState,因此我拥有用户保存的图像和未保存的图像。

所以,当用户点击退格键时,我无法从服务器删除图像,但是当他离开页面时,我可以获得所有不在 editorState 中但在savedState(这些是已删除的)并将请求发送到我的服务器以删除它们。

这不是最好的方法,但我用这种方法实现了它并且它起作用了。

我现在将重构为更好的解决方案:

最佳解决方案是在您的服务器中有一个 temporaryFiles 文件夹,并在用户将图像插入编辑器时将图像上传到该文件夹​​。当他点击 'save' 时,您将此图像发送到一般 uploadedFiles 文件夹。最好有一个专用于此用例的文件夹。 这样您就可以更轻松地知道应该删除哪些文件。如果用户离开页面,您将删除临时文件夹中的所有文件,因为那些未保存的文件。