发布一条信息时, 要 先上传图片,再提交发布信息 ,请问 如何 绑定 发布信息(ID是自动增长的) , 上传的图片和发布ID 如何 关联在一起 ? 简单 说下 思路
两种解决方案:
第一:把上传成功的图片ID保存到Session中,这时图片表的信息ID为空,当成功发布信息时再遍历Session中的图片ID,给这些图片ID加上发布成功的信息ID,隔一时间段清空图片表信息ID为空的记录,这样防止上传图片成功而不提交信息。
第二:不以信息ID做标识,因为某些情况用主键做子父表关系不好,可以添加页面加载时,生成一个GUID,然后添加成功的图片都属于这个GUID,而GUID也是信息表的一个字段,添加时GUID也一并加进去。
上传图片时先记着图片路径或ID, 等你添加记录时, 把值传进去就可以了
1、可以在网站目录下建立一个临时目录,当要上传图片时将首先在这个目录下建立以日期时间为名称文件夹,然后将图片保存到这个文件夹下,这个文件夹下图片名称可以是GUID或者时间日期,等信息提交完成后再将图片复制并重命名为信息ID到指定的目录,同时再把临时目录下的刚建文件夹删除掉,如果上传完图片但没有保存信息,这时文件夹就会存在于临时目录下,这样只能定期去临时目录下清理一下。
这种方案实现起来比较烦但是仅靠ASP.NET既可实现
2、使用FLASH或者Silverlight实现选择图片并显示在网页上,但是这时的图片并没有真正的传到服务器上,而是通过FLASH或者Silverlight获取本机的图片,当发布完消息才把图片上传到服务器上,这样就可以直接获取到消息ID了。
这种方案简单,但是需要依赖FLASH或者Silverlight