`
wjt276
  • 浏览: 650358 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Struts/JSP可上传、预览服务器端文件(图片、文件、Flash、多媒体)文件组件

阅读更多



 

 



 

 

 

 

 

配置方法

第一步:需要将jar包引入项目中

目前是1.0版 :filemanager1.0.jar

 

第二步:需要在web.xml文件配置一个参数

参数的作用:表示网站的资源根目录(上传、预览的根目录)

当前这个目录下可以建立任意的子目录

<context-param> <param-name>upFilePath</param-name> <param-value>/resource</param-value> </context-param>


 

 

 

需要注意的:这个参数名必须为upFilePath

 

第三步:配置Struts.xml文下:如下

 

<struts> <constant name="struts.devMode" value="false" /> <constant name="struts.custom.i18n.resources" value="globalMessages"/> <constant name="struts.i18n.encoding" value="GBK"></constant> <package name="filemanager" namespace="/" extends="struts-default"> <action name="fileManager" class="com.wjt276.filemanager.actions.FileManagerAction"> <result name="index">/filemanager/index.jsp</result> <result name="load_top">/filemanager/top.jsp</result> <result name="folder_list">/filemanager/folderlist.jsp</result> <result name="file_list_largeicon">/filemanager/filelist_largeicon.jsp</result> <result name="file_list_details">/filemanager/filelist_details.jsp</result> </action> <action name="fileUpload" class="com.wjt276.filemanager.actions.FileUploadAction"> <interceptor-ref name="fileUpload"> <param name="maximumSize">102400</param> </interceptor-ref> <interceptor-ref name="defaultStack"/> <exception-mapping result="input" exception="java.lang.Exception"></exception-mapping> <result name="success">/filemanager/success.jsp</result> <result name="input">/filemanager/input.jsp</result> </action> </package> </struts>

 

 

 

 

 

 

第四步:建立国际化资源文件

 

globalMessages.properties

 

 

#更改上传文件太大的提示信息 struts.messages.error.file.too.large=文件上传失败,需要上传的文件太大,限制大小 为1M #文件上传的其它错误信息 struts.messages.error.uploading=文件上传失败,发生内部错误,请稍后再试。

 

 

 

 

第五步:将filemanager文件夹复制到项目的根目录

 

 

 

第六步:开始使用,代码如下:

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script language="javascript"> /** * 打开对话框,从服务器上选择图片 */ function selectProductPic(){ var type = document.getElementById("type").value; if (type == null || type == "") { type = "Image"; } var url = "fileManager?type=" + type; //alert(url); var str = window.showModalDialog(url,"","dialogWidth=800px;dialogHeight=530px;center=yes;help=no;status=0"); if (str != null) { document.getElementById("filename").innerHTML = "文件名:" + str.fileName + "<br/>" + "文件夹:" + str.folderPath + "<br/>" + "完整路径:" + str.filePath ; //document.getElementById("img1").src=str.path; //document.getElementById("image").value=str.path; } } </script> </head> <body> <select name="type" id="type"> <option value="File">文件</option> <option value="Image">图片</option> <option value="Flash">Flash</option> <option value="Media">Media</option> </select> <input type="button" value="选择" title="选择" onclick="javascript:selectProductPic()"/> <div id="filename"></div> </body> </html>



 

 

 

 

  • 大小: 246.4 KB
  • 大小: 123.1 KB
  • 大小: 52 KB
  • 大小: 2.5 MB
分享到:
评论
16 楼 wjt276 2010-07-11  
没有呀。我自己当然测试过了的。也运行起来了。前面的几张图片不就是运行起来后载的图片吗?

我今天还把他集成到FCKEditor里了。替换了原来的“插入图片”→“浏览服务器”的服务器文件管理功能了呢。

难道大家没有一个运行起来的吗?

我在我自己的项目中一起使用呀。还可以呀。当然了。可能有很多的问题。

15 楼 YiSingQ 2010-07-10  
为何不把Java代码开源呢?
14 楼 zrhcslgxy 2010-07-10  
你这个东西测试过吗,可以跑的起来吗?
13 楼 hs_pkyy 2010-07-10  
<div class="quote_title">wjt276 写道</div>
<div class="quote_div">
<div class="quote_title">你加入这个包,我使用了。FileUtils类 commons-io-1.3.2.jar</div>
</div>
<p><br>好像不管用。尝试反编译了一下报空指针异常的FileManagerAction.class</p>
<p>严重: Servlet.service() for servlet default threw exception<br>java.lang.NullPointerException<br> <span style="color: #ff0000;">at com.wjt276.filemanager.actions.FileManagerAction.&lt;clinit&gt;(FileManagerAction.java:29)</span></p>
<p> </p>
<p><span style="color: #ff0000;"><span style="color: #000000;">发现是这一句报的空指针异常:</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">private static String upFilePath = ServletActionContext.getServletContext().getInitParameter("upFilePath");</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">尝试添加了ServletActionContext需要用的jar包servlet-api-2.4.jar,还是不管用</span></span></p>
<p><span style="color: #ff0000;"></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">现在我在想是不是web.xml里upFilePath参数配置的不对,我是直接用的你给的配置(注:后面upFilePath还改过绝对路径,也不管用)</span></span></p>
12 楼 xugq035 2010-07-10  
能够连接ftp吗?
11 楼 wjt276 2010-07-09  
<div class="quote_title">hs_pkyy 写道</div>
<div class="quote_div">
<div class="quote_title">请教一下,我按照LZ所写的步骤添加工程,选择“图片”点“选择”按钮的时候会报如下错误:</div>
<div class="quote_title">严重: Servlet.service() for servlet default threw exception<br>java.lang.NullPointerException<br> <span style="color: #ff0000;">at com.wjt276.filemanager.actions.FileManagerAction.&lt;clinit&gt;(FileManagerAction.java:29)<br></span> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)<br> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)<br> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)<br> at java.lang.Class.newInstance0(Class.java:355)<br> at java.lang.Class.newInstance(Class.java:308)<br> at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:123)<br> at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:154)<br> at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143)<br> at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113)<br> at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275)<br> at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365)<br> at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)<br> at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83)<br> at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)<br> at com.opensymphony.xwork2.DefaultActionInvocation.&lt;init&gt;(DefaultActionInvocation.java:74)<br> at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)<br> at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)<br> at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)<br> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)<br> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)<br> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)<br> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)<br> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)<br> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)<br> at java.lang.Thread.run(Thread.java:619)</div>
<div class="quote_title">是和我引用的jar包有关系吗,我的Java Build Path如下:</div>
<div class="quote_title">commons-logging-1.0.4.jar<br>filemanager1.0.jar<br>freemarker-2.3.8.jar<br>mysql-connector-5.0.jar<br>ognl-2.6.11.jar<br>struts2-core-2.0.12.jar<br>xwork-2.0.6.jar<br>jdk1.6</div>
</div>
<p>你加入这个包,我使用了。FileUtils类 commons-io-1.3.2.jar</p>
10 楼 hs_pkyy 2010-07-09  
<div class="quote_title">请教一下,我按照LZ所写的步骤添加工程,选择“图片”点“选择”按钮的时候会报如下错误:</div>
<div class="quote_title">严重: Servlet.service() for servlet default threw exception<br>java.lang.NullPointerException<br> <span style="color: #ff0000;">at com.wjt276.filemanager.actions.FileManagerAction.&lt;clinit&gt;(FileManagerAction.java:29)<br></span> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)<br> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)<br> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)<br> at java.lang.Class.newInstance0(Class.java:355)<br> at java.lang.Class.newInstance(Class.java:308)<br> at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:123)<br> at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:154)<br> at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:143)<br> at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113)<br> at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275)<br> at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365)<br> at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)<br> at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83)<br> at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)<br> at com.opensymphony.xwork2.DefaultActionInvocation.&lt;init&gt;(DefaultActionInvocation.java:74)<br> at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)<br> at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)<br> at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)<br> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)<br> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)<br> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)<br> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)<br> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)<br> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)<br> at java.lang.Thread.run(Thread.java:619)</div>
<div class="quote_title">是和我引用的jar包有关系吗,我的Java Build Path如下:</div>
<div class="quote_title">commons-logging-1.0.4.jar<br>filemanager1.0.jar<br>freemarker-2.3.8.jar<br>mysql-connector-5.0.jar<br>ognl-2.6.11.jar<br>struts2-core-2.0.12.jar<br>xwork-2.0.6.jar<br>jdk1.6</div>
9 楼 wjt276 2010-07-09  
p2bl 写道
和CKEditor的filemanager类似啊

是的,就是它。抽出来了。
8 楼 p2bl 2010-07-09  
和CKEditor的filemanager类似啊
7 楼 wjt276 2010-07-09  
为爱Debug 写道
弱弱的问一句,预览flash 是否写了控件?

对不起,我还没有试Flash文件。我的项目中现在只用到图片了,所以……
6 楼 wjt276 2010-07-08  
shengye49 写道
看看。可惜是com打头的包名。。


朋友com打头的包有什么不好吗?谢谢
5 楼 edgar615 2010-07-08  
做下记录,抽空试试
4 楼 wukele 2010-07-08  
不知道安全性,怎么样
3 楼 shengye49 2010-07-08  
看看。可惜是com打头的包名。。
2 楼 为爱Debug 2010-07-08  
弱弱的问一句,预览flash 是否写了控件?
1 楼 zhouweijava 2010-07-07  
如果加上进度条,可能更人性化!

相关推荐

    struts2图片上传并预览

    Struts2提供了一套完善的机制来处理文件上传,包括图片。本文将详细讲解如何利用Struts2实现图片上传并进行预览。 一、Struts2文件上传基础 1. 添加依赖:在项目中,你需要添加Struts2的核心库和文件上传插件。...

    jsp+struts文件上传

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和Struts框架实现文件上传功能。这是一个在Web开发中常见的需求,特别是在处理用户提交的数据时。Struts是一个基于MVC(Model-View-Controller)设计模式的...

    纯jsp上传文件到服务器(利用了struts)

    【标题】"纯jsp上传文件到服务器(利用了struts)"所涉及的知识点主要集中在Web开发领域,尤其是Struts框架的应用以及文件上传的实现。Struts是Apache组织下的一个开源项目,它是一个基于MVC(Model-View-Controller...

    使用struts 2 和ajaxFileUpload组件实现图片上传预览(完整版)

    在本文中,我们将详细介绍如何使用Struts 2和AjaxFileUpload组件来实现在Web应用程序中进行图片的上传与预览。 一、Struts 2 框架简介 Struts 2是一个基于MVC设计模式的Action驱动的框架,它提供了强大的控制器层,...

    JSP文件上传功能(struts)

    本文将详细讲解如何利用JSP和Struts实现文件上传功能。 首先,我们要了解文件上传的基本概念。在Web应用中,文件上传是指用户通过浏览器选择本地文件并将其发送到服务器的过程。这个过程通常涉及到HTML表单、...

    Struts2 经典flash上传文件

    在Struts2中,文件上传是常见的功能,尤其是在处理用户表单时,如图片、文档等文件的上传。在本案例中,我们将探讨如何使用Struts2与Flash技术相结合实现文件的上传,并且展示上传进度条,提高用户体验。 1. **...

    struts2实现文件上传下载

    本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...

    struts2+jquery+ajax文件异步上传

    4. Struts2 Action接收并处理文件:在服务器端,Struts2的Action类接收到请求,解析文件数据,并进行验证和存储。 5. 返回响应:服务器处理完文件后,返回一个响应,告知前端文件上传的结果,如成功或失败。 6. 更新...

    jquery+uploadify + struts2 + jsp 图片批量上传Demo

    2. 创建HTML/JS界面:编写一个包含Uploadify组件的HTML页面,配置Uploadify的属性,如`swf`(Flash对象),`uploader`(服务器端处理文件的URL),`fileTypeDesc`(文件类型描述)等。 3. 配置Struts2:在Struts2的...

    struts2+jsp 文件上传

    struts2+jsp 文件上传,供大家一起共同分享学习。

    jsp上传下载文件源代码,通过struts.xml控制在100M以内

    【标题】"jsp上传下载文件源代码,通过struts.xml控制在100M以内"涉及的核心技术主要包括JSP(JavaServer Pages)、Struts框架以及文件上传与下载的处理。Struts是Apache软件基金会的一个开源项目,它为Java Web应用...

    Struts2多个文件上传

    最后,确保你的服务器配置允许接收大文件,并且正确配置了临时目录,因为文件上传过程中通常会先将文件存储在临时目录。 总的来说,Struts2的多文件上传通过引入Apache Commons库,提供了简洁的API和配置,使得...

    struts 单文件上传和多文件上传带进度条

    在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...

    struts2+extjs3 单/多文件上传

    服务器端接收这些数据,进行处理(如存储、验证等),然后返回响应给客户端。 在Struts2中,我们可以利用`Struts2`的`FileUpload interceptor`来处理文件上传。这个拦截器能够解析请求中的文件内容,并将其转换为`...

    JavaEE Struts文件上传

    JavaEE Struts 文件上传是Web开发中的一个常见需求,它允许用户从客户端向服务器传输文件。Struts作为JavaEE框架的一部分,提供了强大的功能来处理这种交互。以下是对这个主题的详细解析。 首先,理解文件上传的...

    JQuery_uploadify_struts2_jsp__ajax多文件上传

    标题中的"JQuery_uploadify_struts2_jsp__ajax多文件上传"涉及到的是一个使用jQuery、uploadify插件、Struts2和JSP技术实现的AJAX多文件上传功能。这个功能允许用户在不刷新页面的情况下,上传多个文件到服务器。 ...

    struts2文件上传

    Struts2 文件上传是Web开发中的一个重要功能...总结来说,Struts2的文件上传涉及到拦截器配置、Action类的编写以及服务器端的文件处理。理解并掌握这一过程对于任何使用Struts2开发Web应用的开发者来说都是至关重要的。

    struts2文件上传下载(jsp)

    使用ecplise打开即可,upload.jsp是上传文件界面,show.jsp中可以下载文件,相关的java代码在src目录下,很简单不多说,可运行。上传的文件可以在tomcat下的wtpwebapps下的files文件夹中看到。(注意:每一次重新部署...

    swfuplaod+struts2实现多文件上传

    SWFUpload 是一款开源的Flash上传组件,它允许用户在浏览器端进行多文件选择和上传。结合Struts2,一个流行的Java Web框架,可以构建出高效、用户友好的文件上传功能。下面将详细介绍如何利用SWFUpload与Struts2来...

Global site tag (gtag.js) - Google Analytics