日期:2014-05-18  浏览次数:20754 次

论坛发帖页面那种能既能上传文件又能提交表单的界面是怎么实现的
大部分论坛的发帖界面在一个页面里都提供了上传(文件、图片)的功能,但是我实际希望实现时发现几个问题,一是form不能嵌套,所以你没法在表单里再次嵌入一个上传文件的form。而且,这些论坛的后台如何处理上传过文件都最后没发帖就离开了这个问题,这样上传上去的文件不是成为垃圾文件了

------解决方案--------------------
这个问题我也有过,当时纠结了好久,后来实在没办法了 ,就只有先提交上传文件,之后把文件的地址返回,再提交表单数据.
------解决方案--------------------
楼主你可以参考下csdn的修改账户信息里,上传头像和修改信息时分tab页显示的
你上传的头像之后,页面会刷一下,然后页面会显示的你的新头像预览。
如果把更改头像和修改信息放在一个页面里是完全可以的,之所以要分开,我个人认为是减轻与数据库、服务器的交互压力。
因为我们一般改头像,先上传,然后预览,如果我们连同表单一起,那每次都要提交,刷新一大推参数。万一头像改一个不满意,一个个的话,那么之前那么多的交互岂不是白白增加负担.

------解决方案--------------------
上传文件使用的是一个iframe,里面嵌套了一个上传文件的表单,上传成功后会返回一个js,这个js会调用父窗口(也就是发帖的主界面)的某个js方法,通知上传成功,通过传递参数还能告诉你服务器上的URL,然后自己将所在的iframe隐藏,这样你看起来就好像是在一起的。
------解决方案--------------------
至于你说的垃圾文件的问题确实存在。所以产品上讲会对附件个数和单个附件大小会有限制。另外,运维方面可以定期从发帖数据库中查询引用的附件。一直未被引用过的附件可以被清理掉。另外,也可以参照网盘的设计思路,一个资源在多长时间内都没有被访问,则自动删除。看你怎么管理这些文件了。