主题: 图片上传后再删除有BUG
作者: arice, 发布日期: 2010-09-03 09:17:17, 浏览数: 8519
右键图片·点删除图片···!!我看了源码只是删除图片的节点··并没有去删除服务器上的图片··这样数据量1多会造成大量浪费空间的图片~~!
作者: Roddy, 发布日期: 2010-09-03 09:26:49
提交后HTML里的图片地址和实际上传的图片比较一下。
回复
作者: arice, 发布日期: 2010-09-03 09:29:55
不行~~上传图片后···删除·在提交HTML内容···服务器图片还是存在··并没有去执行删除服务器的图片~~!3.5.1这个版本源码上我根本没看到有去删除服务器上图片的这1步··明显都没做~~!
回复
作者: Roddy, 发布日期: 2010-09-03 10:03:13

可能我没表达清楚,这个功能一直没有做,没做的原因是它涉及到后端语言。

自己做很简单的,就是提交HTML后在后端语言用正则把所有IMG的SRC都提取出来,然后和实际上传的文件做比较,如果HTML里没有的就删掉。

回复
作者: Roddy, 发布日期: 2010-09-03 10:04:40

KindEditor目前主要提供JS部分的解决方案,不是一揽子的解决方案,后端部分还是要自己实现的~~

回复
作者: arice, 发布日期: 2010-09-03 13:40:25
那上传后能保存图片...却不没做删除图片那不是很搞笑吗?再说当提交HTML内容··图片··都被我在编辑器删了连图片唯一身份都没了·还怎么做正则匹配··这个只能你编辑器处理当右键点击删除··才能识别要删除哪张··而不是我提交HTML内容·的时候才去删··这样没法识别是要删哪张图片,你要想有人用你的编辑器总不能实现这个功能却少了1样重要东西...有保存没删除简直是笑话啊
回复
作者: Roddy, 发布日期: 2010-09-03 14:15:39

右键删除也有很多问题哦

1)删除图片时删除实际图片是你的需求,别人不一定要物理删除。比如有人要临时删除,通过文件预览重新选择那个图片。

2)不能对应通过其它方法删除图片的情况,比如、用户全选内容,按后退键删除所有文章还是不能物理删除。

 

所以最理想的解决方案是:

上传图片时先上传到临时文件夹,提交后用HTML里里的图片和临时文件夹里的图片做比较,将HTML里有的图片移动的实际文件夹,否则直接删除。

回复
作者: sunshine, 发布日期: 2010-09-04 12:12:14
我只能说楼主是SB,你看看哪个编辑器有这功能啊,你懂不懂语言的啊,非要我骂你文盲,ke只是一个编辑器,那你还让作者给你做一个超级牛B的网站后台得了。我再次骂你一句SB。。。。还不爽,再骂你一句SB。还要佩服作者,真有耐性,要是我我绝对开骂了,爱用不用,不爱用滚一边去。
回复
作者: 兽, 发布日期: 2010-10-10 18:27:54
sunshine 才是一傻逼   这个问题非常严重。当别人编辑时。上传图片后。不提交内容。关闭浏览器。图片仍继续存在服务器中。这不整死人么。
回复
作者: sunshine, 发布日期: 2010-10-14 15:58:25

算了,懒得跟这些文盲计较,知道什么叫各司其职吗?你牛B自己写啊。需要什么都自己写,用别人的干嘛呢。不会写就滚回家种田去。在这叫个鸟啊。

回复
作者: joker, 发布日期: 2010-10-28 14:28:29

这种功能还要编辑器自己实现……

回复
作者: forever, 发布日期: 2010-11-02 17:49:29

哪种编辑器都不会自带删除文件功能的,可以根据自己的需要进行更改,我是在上传文件的时候往隐藏域中传递了一个文件地址来保存上传过的文件,保存的时候再跟实际的对比,如果没有就删除掉..

这只是一个编辑器而已,不要指望他能够帮你完成后台的所有功能。

回复
作者: zenoven, 发布日期: 2010-11-07 13:10:56
@forever  我还是个小菜,请问下怎么能记录所有上传过的图片啊?我觉得你的方法挺不错的
回复
作者: 古城, 发布日期: 2010-11-11 16:58:05

以ASP为例:

文件上传的过程在upload_json.asp中file.saveAs filePath这句

 

在后面,将上传过程中的文件路径、名称等信息,记录到数据库不就行了?

 

之后需要做什么就做什么。

回复
作者: 天韩地庚, 发布日期: 2012-04-12 12:27:25

首先要更正一样楼主所说的bug问题,楼主说图片上传后再删除有bug,说服务器端并没有删除,我要说的是这不是bug,原因如下:

1、上传图片提供了配置,我们只要进行简单的修改就可以了,楼主希望的是删除图片也能够像上传一样,我们只要修改一下后台url就行了。话是这样说,但是删除图片毕竟和上传不一样,为什么了,因为当图片成功放置到编辑器里面之后,我们习惯的操作就是点击键盘的“backspace”进行内容删除,这是不好控制的。

2、好的编辑器确实提供了好的扩展,kindeditor是提供了扩展的,当图片在编辑器中的时候,点击右键有个删除图片的选项,既然有我们当然可以控制了,大致提供一下思路:

看image.js代码:

'delete' : function() {
            var imgSrc = self.plugin.getSelectedImage().attr("src");       

            // 正则表达式判断是否为当前项目的图片

           /* 这里写ajax后台操作  */  

            self.plugin.getSelectedImage().remove();
        }

重新这个方法,红色部分为如果要删除图片同时删除服务器端图片应该做的操作。


不过最后我想说的是,虽然这样操作后可以删除图片但是如果不是我们自己使用,而是给用户使用,它们绝对不习惯点击右键删除图片,而是习惯第一点所说的那种操作,他们可不会管你图片是否会撑爆服务器,撑爆了他们还开心呢,如果是网站编辑进行操作,重写了这项功能我觉得还是挺有用的。

回复
作者: 苦逼开发, 发布日期: 2012-08-02 17:25:44
我觉得... 应该增加一个 上传图片 后的 回调. 返回 dom , 这样 就可以自定义添加一些属性进去, 判断是否删除了~
回复
发表新帖 发表回复