javaeye的附件方式

javaeye的附件管理方式不错,参考实现了一下,简单讲下我的理解。

1、有个attachments表,其中有个字段关联了blog、forum的topic、news的id,应该同时有一个type字段来区分是blog、topic还是news。

2、上传部分是个iframe,当file标签的onchange事件被触发时,会调用javascript克隆一个主窗口的iframe,同时提交当前file标签所在的iframe。

3、附件上传后,其关联字段为空。当提交blog、topic、news时,会自动将当前用户上传的所有没有关联的附件的关联id置为提交的对象的id,同时,type字段也会被设值,如提交的对象是blog时,type为:Blog,news为News等,以区分是什么类型的附件。

4、当文件上传后,如果没有提交当前的blog或topic或news,而是去了其他栏目,当需要发个新贴子或博客或新闻时,所以之前上传了,但没有关联对象的附件会自动列出来,用户可以选择删除,也可以选择作为当前提交对象的附件。

 

参考过程中,发现一个小bug,就是上传一个图片附件后,刷新一下页面,再点那个向上的小绿箭头“将该图片插入编辑器”时,就会出现比较怪的现象。原因是:此时的图片附件是action重新提取的,而上传的是在iframe中,但是javaeye的同志没有修改action重新提取的附件的javascript代码,以至于不好用了。

 

你可能感兴趣的:(JavaScript,Blog)