问问做过产品发布站的朋友:一条产品信息有多张图片的话,你们是怎么做的?
比如后台发布一产品信息的时候,一个产品可以上传多张图片:
问题一: 如果是一张图片,我可以保存图片的服务器路径到数据库一字段中,但是如果是多张图片的话,我要怎么把图片和数据记录关联在一起?(注:图片是上传到服务器目录)
问题二:我想在显示产品信息的页面只显示每个产品的第一张图片,点击连接转入一新页面才显示这个产品的所有其他图片。
麻烦给个思路~~
------解决方案--------------------1: 上传时生成相应大小的缩略图(不好)
2: 显示时用JS控制其大小(有时候好像有问题)
------解决方案--------------------另起一个表好了。专门放图片路径。还便于管理呢,一个ID就关联过去了。
------解决方案--------------------1.建一个表专门存放路径的,使用ID关联即可。
2.在存放路径的表中增加一个标志字段,表明是否是第一张图片。
------解决方案--------------------在信息表中添加一个图片路径字段,这个字段可以存储多个以逗号隔开的图片路径,在图片显示时拆分数组就可以了.
------解决方案--------------------第一张图片路径保存在产品信息中,“更多图片”单独保存,并且每张图片对应到某个产品信息。
------解决方案--------------------同上
------解决方案--------------------1 第一张图片路径保存在产品信息中
2 新建一张新表存放其他得图片,通过ID关联
------解决方案--------------------你可以同时上传10张图片啊。
然后使用一个(一个批处理中本来就可以包含多个SQL命令)或者10个数据库更新批处理(例如DBCommand.ExecuteNoneQuery)来更新数据库都差不多,并不影响界面交互逻辑,纯粹是你程序设计来做的。即使是10个“提交”,也消耗不到半秒钟时间。
图片保存区分开两个地方,是因为你的产品的关键图片和附加图片在功能上明显分成两大类,这样设计比较好处理关键图片。
------解决方案--------------------记录图片路径的字段用 | 来分割多图片。然后用数组来取就可以了。
------解决方案--------------------在页面里放一个hidden的控件用来接收button1上传时的路径和文件名称,等提交的时候传送这个hidden的值就可以,如果觉得麻烦,还可以开个session或者cookies
------解决方案--------------------我都是放在一个字段里
------解决方案--------------------把图片上传的功能作为产品信息管理的一部分,只有在编辑产品信息的时候才用图片上传,不直接调用上传页
------解决方案--------------------作个总结:
方法一:
1 第一张图片路径保存在产品信息中
2 新建一张新表存放其他得图片,通过ID关联
这样做对数据的操作更方便
方法二:
3 记录图片路径的字段用 | 来分割,存入数据库的一个字段
取出时按|截出来
这样做有点麻烦
绑定数据不方便
记住图片名 用session存 或 lable
------解决方案--------------------我用FCKeditor,然后把它的Value值保存在数据库中就可以了。里面保存的是HTML代码,包括所有图片的路径。然后再在网页上用个Label读一下这些代码就都显示出来了。
------解决方案--------------------我们是有个图片关联表。。。。。
------解决方案--------------------ImgId ProductId CategoryID ImgUrl IsBig IsUsing BigImgID SnatchUrl Title
----------- ----------- ----------- ---------------------------------------------------------------------------------------------------------------- ----- ------- ----------- -------------------------------------------------------------------------------------------- ----------------------------------------------------------------