- 浏览: 590160 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
smilezhouwei:
请问CruiseControl在加载jar包时,由于jar包过 ...
修改CruiseControl的端口 -
zengxuefei:
不起作用啊,有bug
Flex+Java多文件上传 -
lzeus:
模仿的tomcat源码吧?
java事件处理机制(自定义事件)【转】 -
yangbobestone:
...
FreeMarker整合Struts2 -
fddjxllren:
那是因为你没配置事务,楼主的那个主要是针对事务的写法
Spring2.5+JUnit4单元测试
AsWing+Java上传文件
UI是用AsWing实现比较简单
客户端FileUpload.as
package warehousing.view { import flash.events.*; import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.URLRequestMethod; import org.aswing.AsWingManager; import org.aswing.JButton; import org.aswing.JFrame; import org.aswing.JLabel; import org.aswing.JPanel; import org.aswing.JTextField; import org.aswing.geom.IntDimension; public class FileUpload extends JFrame{ private var uploadURL:URLRequest; private var file:FileReference; private var _frm:JFrame; private var _mainPanel:JPanel; private var _filePath:JTextField; private var _browseBtn:JButton; private var _uploadBtn:JButton; public function FileUpload() { super(null, "上传", true); AsWingManager.initAsStandard(this); uploadURL = new URLRequest(); file = new FileReference(); configureListeners(file); _mainPanel = new JPanel(); _filePath = new JTextField("", 40); _filePath.setEditable(false); _browseBtn = new JButton("浏览"); _browseBtn.addEventListener(MouseEvent.CLICK, __onBrowse); _uploadBtn = new JButton("上传"); _uploadBtn.addEventListener(MouseEvent.CLICK, __onUpload); _uploadBtn.setVisible(false); _mainPanel.appendAll(new JLabel("文件"), _filePath, _browseBtn, _uploadBtn); this.getContentPane().append(_mainPanel); this.setSize(new IntDimension(500, 500)); this.show(); } private function __onBrowse(event:MouseEvent):void{ file.browse(getTypes()); } private function __onUpload(event:MouseEvent):void{ uploadURL.method = URLRequestMethod.POST; uploadURL.contentType = "multipart/form-data"; uploadURL.url = "http://testadmin2.1001m.com:84/upload"; file.upload(uploadURL, "file", false); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler); } private function getTypes():Array { var allTypes:Array = new Array(getXlsTypeFilter(), getImageTypeFilter(), getTextTypeFilter()); return allTypes; } private function getXlsTypeFilter():FileFilter { return new FileFilter("Xls (*.xls)", "*.xls"); } private function getImageTypeFilter():FileFilter { return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png"); } private function getTextTypeFilter():FileFilter { return new FileFilter("Text Files (*.txt, *.rtf)", "*.txt;*.rtf"); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function uploadCompleteDataHandler(event:DataEvent):void { trace("uploadCompleteData: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { var file:FileReference = FileReference(event.target); trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); this._filePath.setText(file.name); _uploadBtn.setVisible(true); } } }
服务端UploadServlet.java
package com.xlands.ihome2.warehousing; import java.io.File; import java.io.IOException; import java.util.Iterator; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; public class UploadServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { saveFile(req, resp); } public void saveFile(HttpServletRequest request, HttpServletResponse response) throws IllegalStateException, IOException { CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); commonsMultipartResolver.setDefaultEncoding("utf-8"); if (commonsMultipartResolver.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = commonsMultipartResolver .resolveMultipart(request); Iterator iter = multipartRequest.getFileNames(); String webUrl = request.getSession().getServletContext() .getRealPath("/"); // 获取当前程序的路径 File filePath = new File(webUrl + "uploadDir"); // 拼写成完整的路径 if (!filePath.exists()) { filePath.mkdirs(); } for (; iter.hasNext();) { MultipartFile file = multipartRequest.getFile((String) iter .next()); if (file != null) { File localFile = new File(file.getOriginalFilename()); String fileName = filePath + File.separator + file.getOriginalFilename(); // 拼成完整的文件保存路径加文件 file.transferTo(new File(fileName)); // 保存文件到服务器 } } } } }
在web.xml中添加配置
<!-- 上传的servlet --> <servlet> <servlet-name>upload</servlet-name> <servlet-class>com.xlands.ihome2.warehousing.UploadServlet</servlet-class> <init-param> <param-name>method</param-name> <param-value>saveFile</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping>
附件commons-fileupload-1.2.1.jar
- commons-fileupload-1.2.1.jar (56.4 KB)
- 下载次数: 7
发表评论
-
AS3 条件编译
2013-06-07 09:38 1350转:http://www.lite3.cn/blog/?p= ... -
TextField没有buttonMode的方法..
2010-12-10 16:28 2347TextField没有buttonMode的方法..不过由于T ... -
ActionScript 处理html超级链接
2010-12-09 11:14 2163ActionScript 处理html超级链接 p ... -
通过代理传参数
2010-07-02 11:43 1492通过代理传参数 package com.xlands.uti ... -
ArrayUtils
2010-07-02 11:36 1557/* Copyright aswing.org, s ... -
将数组随机排序后返回
2010-06-30 16:40 1855将数组随机排序后返回 方法一 /** * ... -
AS类中跳转
2010-06-29 10:22 1838AS类中跳转 navigate ... -
Flash与Javascript交互时可用ExternalInterface类
2010-06-29 10:17 3681Flash与Javascript交互时可用ExternalIn ... -
转载:[as hack技术]垃圾回收机强制执行
2010-06-29 09:47 1467转载:[as hack技术]垃圾回收机强制执行 http:// ... -
Flash中所支持的Html标签
2010-06-24 17:21 1411Flash中所支持的Html标签 ... -
navigateToURL()
2010-06-22 15:27 2530navigateToURL() public fun ... -
ActionScript中Http请求
2010-06-19 09:42 3175ActionScript中Http请求 因我是用MVC模式来 ... -
ActionScript字符串工具
2010-06-04 09:44 3297ActionScript字符串工具 package c ... -
加载外部SWF文件
2010-05-22 15:43 1409加载外部SWF文件 package mytest.dt { ... -
A*最最基础的非常非常好的寻路教程!
2010-05-08 10:01 2080最最基础的非常非常好 ... -
JTable单元格偏移
2010-05-07 11:15 1386如果Frame中有个表格JTable,且允许双击单元格编辑,那 ... -
ActionScript中日期正则表达式
2010-04-27 18:24 1308这里是判断YYYY-MM-DD这种格式的,基本上把闰年和 ... -
AS中使用JSON
2010-04-26 09:15 3027要使用json作为数据交换格式。需引入corelib Acti ... -
invalidateDisplayList
2010-03-31 14:39 1950当多次改变控件的某些属性(如 高,宽,数据)后,调用该方法以便 ... -
自定义组件XPropertyTable
2010-03-13 12:56 1648这个是基于AsWing组件库实现的 主要是对JTable和P ...
相关推荐
ASwing 是一个基于 Java Swing 的开源项目,它的版本1.5为我们带来了许多增强的功能和改进。Swing 是 Java 标准库中用于构建图形用户界面(GUI)的一部分,而 ASwing 则是对其的一种扩展,提供了更丰富的组件、更...
标题中的“Flash之pureMVC,aswing框架Libs文件”指的是两个主要的ActionScript库:PureMVC和AsWing。这两个库都是为在Adobe Flash环境中开发富互联网应用程序(RIA)而设计的,尤其在Flex框架下使用广泛。下面将详细...
AsWing是一款流行的Java Swing开发库,它提供了丰富的组件和强大的功能,帮助开发者构建美观、高效的桌面应用程序。Aeon皮肤是AsWing中的一个设计风格,为用户提供了一种现代、简洁的视觉体验。 在AsWing中,皮肤...
ASwing本身是一个ActionScript框架,它模仿了Java Swing的设计,为Flash和Flex应用提供了丰富的组件库,使得在这些平台上构建复杂的用户界面变得更为便捷。 在描述中提到,ASwing2.0 SRC是通过SVN(Subversion)...
创建AsWing项目的初始步骤包括使用FlexBuilder新建一个ActionScript项目,命名为"HelloScheme",并确保在库路径中包含了AsWing库或AsWing.swc文件。 在HelloScheme主类中,我们看到AsWingManager被用来初始化AsWing...
这通常包括源代码、编译后的二进制文件、API文档、示例程序、安装指南等,使得开发者能够快速地开始使用ASwing_A3进行开发。 在实际应用中,ASwing_A3可能会被用于创建复杂的桌面应用,比如企业级的信息系统、财务...
Aswing是一个轻量级的图形用户界面(GUI)库,它为Java开发者提供了一种创建美观、交互式的应用界面的方式。在这个教程中,我们将深入探讨Aswing皮肤的工作原理,以及如何通过一系列步骤来设计和应用自定义皮肤。 ...
4. AsWing.zip:这个文件很可能是AsWing库的主体部分,包含所有必要的源代码和类库文件。 5. OrangeLAF.zip和FlaSkin.zip:这些可能是预设的皮肤或者外观样式包,分别名为“Orange”和“FlaSkin”。开发者可以导入...
AS3的aswing帮助文档! AS3的程序员必备物品。。详细的介绍哦
在ASwing_a3_1.2_fl这个文件中,我们可以期待找到ASwing库的特定版本,可能包括类库文件、示例代码、文档或者其他相关资源。这些资源可以帮助开发者快速上手,通过参考示例代码了解如何在实际项目中应用ASwing组件。...
aswing API,与AsWing Book.pdf一起使用
### ASWING教程知识点概述 #### 1. 引言:构建用户界面的新方式 - **背景介绍**:随着RIA技术的不断成熟和发展,构建用户界面的方法越来越多。早期使用ActionScript 1.0时,几乎所有的界面元素都需要通过Flash IDE...
### aswing组件知识点详解 #### 1. JPanel与透明度设置 `JPanel`作为Swing中的一个容器组件,主要用于组织其他组件,并提供布局管理功能。在AsWing框架中,用户可以设置`JPanel`的透明度。通过调用`setOpaque(false...
ASwing是ActionScript 3.0中一个强大的UI组件库,它允许开发者创建出类似Java Swing的用户界面。在2011年的这个实例中,我们将学习如何利用这一功能,为Flash应用程序提供美观且可定制的界面。 首先,了解ASwing库...
aswing类库的下载,可以让大家使用现成的布局来显示对象很简单很方便
AsWing Book.pdfAsWing Book.pdfAsWing Book.pdfAsWing Book.pdf
ASWing是一个开源的Java库,它扩展了Swing框架,提供了更多的功能和便利性,包括拖放操作的支持。在这个特定的场景中,我们关注的是如何在ASWing环境中实现拖放功能。 首先,了解ASWing的基本结构和设计模式是必要...
在压缩包`aswing_1.5_allinone`中,包含了ASwing的完整版本,可能包含源码、库文件、示例项目和文档等内容。开发者可以通过阅读源码了解其工作原理,参考示例快速上手,同时,文档可以帮助解决在使用过程中遇到的...
根据提供的信息,我们可以总结出以下关于asWing的知识点: ### 1. JPanel与AsWing容器 - **JPanel**:在AsWing中,`JPanel`扮演着一个非常重要的角色,作为容器组件,它能够容纳其他GUI组件。在设置`JPanel`时,...
ASwing 是 ActionScript 3.0 的一个库,它为 Adobe Flash 平台提供了类似 Java Swing 的组件框架。这个框架允许开发者构建更复杂的用户界面和应用程序,尤其在 Flash Builder 4 中,可以利用 ASwing 的功能来提升...