比如是在1页面上传图片,然后同时能在2页面,看到上传的图片,这种功能怎么做啊,大佬们
你的“1页面”姑且称作UpLoad页面,你的“2页面”称作Show页面。
你的Upload和Show页面的状态如果是有“先后”顺序,
例如Upload以后会打开Show,这个并不难。
正常做上传和读取就可以了。
但是如果你的Upload的和Show同时存在,想在Upload完成同时,让Show页面自动看见上传的图片。
那么就稍微复杂点了,因为你的页面是不会知道服务器是否上传了数据,那么也就没有办法像服务器请求数据。
这个状况给你3个思路。
1、最简单的Show页面上,使用JS轮询服务器,如果上传了文件,刷新页面。但是轮询对服务器开销比较大。
2、如果Show,和Upload在同一电脑的同一浏览器上,那么可以采用监听Cookie的方式,页面打开的时候,建立一个Cookie写入一个时间,show轮询这个Cookie是否发生变化,如果发生变化刷新页面。Upload完成修改Cookie的时间。
3、这个方法就不是浏览器主动请求了,而是让服务器推送,建议看看WebSocket。Show页面采用Socket链接服务器,一旦有人调用Upload页面上传图片,使用Socket向所有的Show页面推送最新的图片。这样就不管在哪有多少show,有多少Upload都可以实现你要的效果,不过技术上相对复杂。
就是那种,在1页面发布了一条信息,里面有个提交了图片,还有各种信息资料等。然后可以在查看信息页的地方2页面看到刚发布的图片。现在其他资料都调用出来了,就是图片调不出
如果用到了数据库,你可以在上传图片时将路径保存到数据库中,在2页面读取数据库时读取该路径。
但不推荐将图片保存到数据库中