servlet输出缩略图的问题

lmh79 2003-09-29 12:13:25
1
Image img=null;
Toolkit tk=Toolkit.getDefaultToolkit();
Applet app=new Applet();
MediaTracker mt = new MediaTracker(app);

try {
img = tk.getImage(bigImage); //这里采用image的全路径
mt.addImage(img, 0);
mt.waitForID(0);
} catch (Exception e) {
e.printStackTrace();
}

这种方式有时候可以取到图片,有时候取不到

2

循环输出记录,根据id取图片的时候,图片输出的时候采用
BufferedImage
可每次输出同一个图片
...全文
13 点赞 收藏 10
写回复
10 条回复
lmh79 2003年09月30日
我觉得上传到数据库管理上好些!

还有width 和 height的控制,我不知道效果方面会不会有问题!
回复 点赞
lmh7607 2003年09月30日
我的一些個人觀點:
引用原話:
显示的时候,先显示的是缩略图,根据id将图片下载到服务器临时存储,然后在servlet中读到这个临时文件,做缩小处理,然后用2精制流的形式输出到页面.

如果是我,我是不會這麼做的。要麼,把上載的圖片存儲到服務器目錄當中,數據庫中存儲文件名就可以,要麼直接在數據庫中存儲文件,顯示也一樣,直接從數據庫中讀到bufferedImage中.何必要多走一步中間過程呢?這樣你的第一個問題也不會出現.

如果是存儲文件的話,如果使用img的width,height來控制的話,速度不會很慢的.至少比
將圖片進行縮略快多了.如果是老板非要這麼做,那也沒辦法,網上找找,應該不難解決的.
回复 点赞
lmh79 2003年09月30日
请高手出来解答!
回复 点赞
lmh79 2003年09月30日
基本搞定,可以正常运行了!
回复 点赞
newman0708 2003年09月29日
怎么把图片转成缩略图啊!

用什么方法转?
回复 点赞
lmh79 2003年09月29日
我总的实现原理是这样的:

上传的时候,我上传的是正式图片,用户放大后看到的图片,进数据库2精制形式保存.
显示的时候,先显示的是缩略图,根据id将图片下载到服务器临时存储,然后在servlet中读到这个临时文件,做缩小处理,然后用2精制流的形式输出到页面.(上传下载使用的是SmartUpload)

第一个问题就是在servlet中用这种方式取图片的时候有时候可以取到,有时候取不到,就是要将图片文件在servlet中读到Image中!

第二个问题
当多个记录的时候,就要输出多张图片,可输出的时候图片都是同一张,下载到的临时文件是有变化的,我的BufferedImage变量也不是全局的.只有重启tomcat才会换另外的.
回复 点赞
leotonny 2003年09月29日
说详细一点吧,第二个问题我认为是不是BufferedImage变量定义的问题,是全局变量还是在循环语句中定义的?
回复 点赞
lmh79 2003年09月29日
那样不好,不是真正的缩略图技术,我也考虑过这种做法!
回复 点赞
lmh7607 2003年09月29日
<img src="/servlert/showimg.do" width="",height=""></img>
這樣,一個頁面就可以輸出很多圖片了.width,height是定義圖片的高和寬.
回复 点赞
lmh79 2003年09月29日
没有高手回答?
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告