- 浏览: 99716 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
qq280948982:
其实不用这么麻烦的,参考这篇文章就可解决丢失session的问 ...
Uploadify获取Session -
hui0377:
这样session 就不会过期了??
Uploadify获取Session -
jxdiamond:
使用uploadify插件时,可以通过前台脚本'formDat ...
Uploadify获取Session -
mzh_2008beijing:
楼主,第4步、在程序中使用:
MySessionContext ...
Uploadify获取Session
在网站制作中通常需要上传附件,而对于附件我们往往希望在其名称前面有类似于Windows系统中的类型图标,那么怎么根据附件的类型来显示不同的图标呢?目前有两种解决方案:
第一种:将所有类型文件的图标图片放置到项目中,然后通过分析文件的扩展名来调用相应的图片,这种方式比较简单常见,但是我们往往无法弄到所有文件类型的图标,而且也不能排除意外情况的出现,这里就不在介绍了;
第二种:通过java调用系统的文件类型图标然后显示出来,好处是可以显示跟操作系统中一模一样的图标,但是要复杂一些,下面详细介绍。
1、JSP
2、fileAction
3、CommonTool
4、struts.xml
第一种:将所有类型文件的图标图片放置到项目中,然后通过分析文件的扩展名来调用相应的图片,这种方式比较简单常见,但是我们往往无法弄到所有文件类型的图标,而且也不能排除意外情况的出现,这里就不在介绍了;
第二种:通过java调用系统的文件类型图标然后显示出来,好处是可以显示跟操作系统中一模一样的图标,但是要复杂一些,下面详细介绍。
1、JSP
<img src="fileAction!dispalyIcon?dirName=<%=request.getAttribute("fileName").toString()%>" style="width:16px;height:16px;"/>
2、fileAction
@Component("fileAction") public class FileAction extends ActionSupport { private String dirName; public String getDirName() { return dirName; } public void setDirName(String dirName) { this.dirName = dirName; } public void dispalyIcon() { HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("image/png"); try { OutputStream sos = response.getOutputStream(); BufferedImage myImage = CommonTool.getImageByFileTyle(dirName); ImageIO.write(myImage, "png", sos); sos.flush(); sos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
3、CommonTool
public class CommonTool { public static BufferedImage getImageByFileTyle(String filename) throws FileNotFoundException { File file = null; String extension = filename.substring(filename.lastIndexOf(".")) .toLowerCase(); try { file = File.createTempFile("icon", extension); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return toBufferedImage(toImage(toIcon(file))); } public static Icon toIcon(File file) throws FileNotFoundException { ShellFolder shellFolder = ShellFolder.getShellFolder(file); Icon icon = new ImageIcon(shellFolder.getIcon(true)); return icon; } public static Image toImage(Icon icon) { if (icon instanceof ImageIcon) { return ((ImageIcon) icon).getImage(); } else { int w = icon.getIconWidth(); int h = icon.getIconHeight(); GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment(); GraphicsDevice gd = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = gd.getDefaultConfiguration(); BufferedImage image = gc.createCompatibleImage(w, h); Graphics2D g = image.createGraphics(); icon.paintIcon(null, g, 0, 0); g.dispose(); return image; } } private static boolean hasAlpha(Image image) { // If buffered image, the color model is readily available if (image instanceof BufferedImage) { BufferedImage bimage = (BufferedImage) image; return bimage.getColorModel().hasAlpha(); } // Use a pixel grabber to retrieve the image's color model; // grabbing a single pixel is usually sufficient PixelGrabber pg = new PixelGrabber(image, 0, 0, 1, 1, false); try { pg.grabPixels(); } catch (InterruptedException e) { } // Get the image's color model ColorModel cm = pg.getColorModel(); return cm.hasAlpha(); } // This method returns a buffered image with the contents of an image public static BufferedImage toBufferedImage(Image image) { if (image instanceof BufferedImage) { return (BufferedImage) image; } // This code ensures that all the pixels in the image are loaded image = new ImageIcon(image).getImage(); // Determine if the image has transparent pixels; for this method's // implementation, see Determining If an Image Has Transparent Pixels boolean hasAlpha = hasAlpha(image); // Create a buffered image with a format that's compatible with the // screen BufferedImage bimage = null; GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment(); try { // Determine the type of transparency of the new buffered image int transparency = Transparency.OPAQUE; if (hasAlpha) { transparency = Transparency.BITMASK; } // Create the buffered image GraphicsDevice gs = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = gs.getDefaultConfiguration(); bimage = gc.createCompatibleImage(image.getWidth(null), image .getHeight(null), transparency); } catch (HeadlessException e) { // The system does not have a screen } if (bimage == null) { // Create a buffered image using the default color model int type = BufferedImage.TYPE_INT_RGB; if (hasAlpha) { type = BufferedImage.TYPE_INT_ARGB; } bimage = new BufferedImage(image.getWidth(null), image .getHeight(null), type); } // Copy image to buffered image Graphics g = bimage.createGraphics(); // Paint the image onto the buffered image g.drawImage(image, 0, 0, null); g.dispose(); return bimage; } }
4、struts.xml
<action name="fileAction" class="com.render.action.cyl.FileAction"> <result name="input">login.jsp</result> </action>
发表评论
-
mysql超时设置using the Connector/J connection property 'autoReconnect=true' to avoid
2014-06-04 12:08 986com.mysql.jdbc.Communications ... -
Java中Process的waitFor()阻塞问题
2013-05-13 17:34 1592最近项目需要用java解析3dsmax场景文件,但是3dsma ... -
java实现ping功能测试指定ip机器是否可达
2013-04-18 16:28 845最近总是要虚拟机运行一段时间总是出问题,但是数十台机器一台台用 ... -
java的8种排序方法
2014-09-15 22:56 584转自http://www.iteye.com/topic/11 ... -
java的8种排序方法
2013-03-20 22:53 0转自http://www.iteye.com/topic/11 ... -
java与C++程序通信交互
2013-03-08 10:54 739java与C++程序通信的方法有很多,常见的有: JNI JN ... -
Struts2拦截器处理用户操作日志
2013-03-06 14:18 1019public String intercept(Actio ... -
Spring AOP操作action时无法注入,报NullPointer异常
2013-03-06 11:33 1491当使用Spring AOP对action层进行操作时,会出现注 ... -
Spring AOP实现用户操作日志管理
2013-03-06 11:26 945通过注解方式使用AOP实现用户操纵日志管理的具体步骤如下: 1 ... -
Java中调用dll动态库的简洁方法
2013-01-07 14:47 623解压JNative-1.3.2.zip 获得三个文件,分别是: ... -
session过期iframe里出现嵌套登录界面
2012-12-17 14:59 954在你想控制跳转的页面,比如login.jsp中的<hea ... -
Can not find a java.io.InputStream with the name [inputStream] in the invocation
2012-11-30 11:38 709具体异常是这句话: Can not find a java. ... -
JNI 返回结构体参数
2012-11-19 19:46 1885如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对Jn ... -
Tomcat设置虚拟目录
2012-11-14 12:48 769项目开发中碰到需要产生大量的图片,如果把这些图片全部放在项目目 ... -
BigDecimal不整除的一个异常
2012-11-05 17:49 742金额的数据类型是BigDecimal 通过BigDecima ... -
Java jaspereport导出pdf及excel报表源码
2012-10-30 22:16 771加载jasper文件,接收map参数导出报表至指定目录。 ... -
Java定时器的使用
2012-10-29 14:57 605本例依据Java自身提供的接口实现,通过监听器(Listene ... -
Spring定时器的使用-注解形式
2012-10-29 14:50 1033Spring3中加强了注解的使用,其中计划任务也得到了增强,现 ... -
Spring定时器的使用-xml配置形式
2012-10-29 14:37 803详细配置如下: 1、bean.xml <?xml ver ... -
字符串左斜杠替换成右斜杠
2012-10-23 17:23 1425在做项目过程中 需要将一个字符串中的左斜杠全部替换成右斜杠 以 ...
相关推荐
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
7 sample7.jsp 第8章\ch8 获得文件属性示例 8 file1.txt 第8章\ch8 文本文件 9 sample8.jsp 第8章\ch8 使用FileInputStream类读取文件file1.txt示例 10 sample9.jsp 第8章\ch8 使用FileReader类读取文件file1.txt...
Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...
Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...
是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础...
是飞速创想(北京)科技有限公司推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。JspRun! 的基础...
1、修复:后台右上角小房子图标的前台首页链接在多站点情况下,切换站点后无变化。 2、修复:文档管理标题图、属性图、图集在火狐下点击上传按钮无反应。 3、修复:文件管理搜索功能没有保留当前文件夹路径。 4、...
ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:...
这里边包括:第1章 Java图形用户界面编程 1 实例1 布局管理 2 实例2 设计软件启动界面 9 实例3 实现多色窗口 11 实例4 切分窗口 13 实例5 丰富多彩的按钮 15 实例6 在窗口中显示背景图 16 实例...
<web-app xmlns="http://java.sun.... 若在Servlet可以使用下列方法来获得:String param_name=getServletContext().getInitParamter("param_name"); --> ... ... ...
1、修复:后台右上角小房子图标的前台首页链接在多站点情况下,切换站点后无变化。 2、修复:文档管理标题图、属性图、图集在火狐下点击上传按钮无反应。 3、修复:文件管理搜索功能没有保留当前文件夹路径。 4、...
下载依赖的 JAR 文件并在 Eclipse 的 classpath 中定义这种依赖性 15 创建 to-do 列表:基本的 Swing 和 Spring 应用程序设置 17 创建 MainFrame、Launcher 和 ToDo 类 17 创建 Spring app-context.xml bean 定义...
JAVA:修改user-manage.js,将访问后台的url由"datasource.php"改为"datasource.jsp",然后将WebRoot下的文件放到tomcat下直接运行。也可使用Eclipse直接导入此项目文件。 简要说明: 使用DataTable默认的ajax交互...
用户在模板市场获取模板时,亦是静默下载,完成后网站后台会自动解压到指定位置并自动导入网站系统,用户只需在下载后点击一下设定为默认模板即可。 32.★充份保护模板的制作人的版权。只有在上传的服务器上才可对...