- 浏览: 7272835 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
项目中要求上传文件同时获取上传文件的信息并做日志等要求,我们上传的同时提供商的授权文件和公司的授权文件,所以传入fileType字段表示上传的授权文件类型,在写日志使用。同时在组件显示上传文件的信息.
/**
* 选择授权文件,并上传
*/
private function uploadFile(fileType:int):void {
//定义文件上传组件
var file:FileReference = new FileReference();
file.addEventListener(Event.SELECT, selectHandler);
file.addEventListener(Event.CANCEL, cancelHandler);
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ioErrerHandler);
var ff:FileFilter = new FileFilter("授权文件", "*.*");
var fileFieldName:String = "proof";
var FILENAME:String="";
var FILETYPE:int=fileType;
file.browse([ff]);
/**
* 选中文件处理
*/
function selectHandler(event:Event):void {
//保存相对路径
var variables:URLVariables = new URLVariables();
var urlRequest:URLRequest = new URLRequest(AppGlobal.serverAppUrl + AppGlobal.FILE_UP_URL);
variables.path = AUTH_FILE_SAVE_PATH;
urlRequest.data = variables;
file.upload(urlRequest, fileFieldName);
}
/**
* 取消
*/
function cancelHandler(event:Event):void {
removeFileEventListener();
}
/**
* 完成上传并接受返回数据处理
*/
function uploadCompleteDataHandler(event:DataEvent):void {
removeFileEventListener();
var serverFileName:String = null;
//服务器返回数据xml,
var properties:XML = new XML(event.data);
var xmlList:XMLList = properties.children();
for each (var entry:XML in xmlList) {
if (fileFieldName == entry.attribute("key").toString()) {
serverFileName = entry.descendants().toString();
}
}
if (serverFileName == null) {
return;
}
FILENAME=serverFileName;
//更改数据库文件的信息
updateAuthFile();
}
/**
* 出错处理
*/
function ioErrerHandler(event:IOErrorEvent):void {
removeFileEventListener();
trace(event.text);
MessageBox.showMsg("传输文件出错!", "错误");
}
/**
* 移除事件监听器
*/
function removeFileEventListener():void {
file.removeEventListener(Event.SELECT, selectHandler);
file.removeEventListener(Event.CANCEL, cancelHandler);
file.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
file.removeEventListener(IOErrorEvent.IO_ERROR, ioErrerHandler);
ff = null;
file = null;
}
/***
* 更改授权文件的数据库信息
*
*/
function updateAuthFile():void
{
//RemoteDataService 自定义的封装远程数据访问对象的类RemoteDataService
RemoteDataService.execute(updateAuthFileString,[FILENAME,orderNo,FILETYPE],executeResult);
}
function executeResult(result:int):void {
var num:int = result;
if(num>0)
{
var auth:Object=new Object();
auth.FILE_NAME=FILENAME;
if(FILETYPE==OfflineConstant.COMPANY_AUTHORIZATION_FILE)
{
createGridRow(auth,COMPANYAUTHFILEDG);
}else{
createGridRow(auth,SUPPLYAUTHFILE);
}
}else{
MessageBox.showMsg("文件上传失败!", "提示");
}
}
}
后台Java代码如下:
package servlet;
import java.io.File;
import java.io.IOException;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileService extends HttpServlet
{
public static String getRootPath()
{
return rootPath;
}
public static void setRootPath(String rootPath)
{
rootPath = rootPath;
}
public FileService()
{
}
public void destroy()
{
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String path = request.getParameter("path");
Properties props = new Properties();
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart)
{
org.apache.commons.fileupload.FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("utf-8");
upload.setFileSizeMax(0x400000L);
List items = null;
try
{
items = upload.parseRequest(request);
}
catch(FileUploadException e1)
{
throw new ServletException(e1.getMessage());
}
File pathFile = new File((new StringBuilder(String.valueOf(rootPath))).append(File.separator).append(path).toString());
if(!pathFile.exists())
pathFile.mkdirs();
for(Iterator iter = items.iterator(); iter.hasNext();)
{
FileItem item = (FileItem)iter.next();
if(!item.isFormField())
{
String fieldName = item.getFieldName();
String fileName = item.getName();
String extension = "";
int lastIndexOfDot = fileName.lastIndexOf('.');
if(lastIndexOfDot != -1)
{
int fileNameLength = fileName.length();
extension = (new StringBuilder(".")).append(fileName.substring(lastIndexOfDot + 1, fileNameLength)).toString();
}
String serverFileName = (new StringBuilder(String.valueOf(UUID.randomUUID().toString()))).append(extension).toString();
serverFileName = serverFileName.toLowerCase();
File file = new File((new StringBuilder(String.valueOf(pathFile.getPath()))).append(File.separator).append(serverFileName).toString());
try
{
item.write(file);
}
catch(Exception e)
{
throw new IOException(e.getMessage());
}
props.put(fieldName, serverFileName);
}
}
}
props.storeToXML(response.getOutputStream(), null);
}
public void init()
throws ServletException
{
rootPath = getInitParameter("rootPath");//在web.xml中添加配置信息
}
private static final long serialVersionUID = 0xef3005bb45828b8fL;
private static String rootPath;
}
评论
通过flexHTTP的相关组建访问,访问的时候,同时访问flex中blaze的http配置服务service,访问部署好的web容器.
这个一种Flex 通过Http方式访问java的demo
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
这几行为啥出错呢?cannot be resolved
有两种可能,第一种你的commons-fileupload版本和我的不一致.
第二种你的项目没有编译.
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
这几行为啥出错呢?cannot be resolved
发表评论
-
flex 中As3Commons的使用學習
2009-10-15 12:53 3687學習Java的人,知道java中反射的强大, ... -
flex的国家化的应用
2009-09-23 08:59 2069在项目中需要使用发送短信模板的功能的,根据主题不同,模板不同, ... -
flex的沙箱问题
2009-09-14 17:14 5417在flex与google的地图整合中发现,点击了goog ... -
Flex 常用技巧
2009-09-04 13:00 2542flex是一种异步请求的技术,如果要实现同步必须在传递函 ... -
Flex 開發Google地圖
2009-08-24 13:16 24111 .获取googe的key 2.下载google的fle ... -
查询之order by,group by和having的使用
2009-08-08 15:48 4684在项目中查询常驻酒店的中住的次数最多的前10个酒店: 代码如 ... -
objectProxy的监控对象应用
2009-08-08 13:46 2647在项目中查询根据一个字段发生实现需要特殊的功能,作出相应的动作 ... -
Flex 依赖注入
2009-08-08 13:41 2050了解依赖注入 众所周 ... -
Flex 与外部的数据通信(HTTPService,URLLoader和URLRequest)
2009-08-08 13:36 7384ActionScript 3.0中提供的数据加载请求类主要是H ... -
flex 数据绑定
2009-08-08 13:31 23819.2.1 函数和类级别的绑定 [Bindable]标签打使 ... -
Flex中Entity对象与Display对象之间的数据双向动态绑定
2009-08-08 13:27 2401flex项目中对象的和组 ... -
学习ActionScript 3.0的新特点
2009-08-06 13:05 1964ActionScript3.0 是一种类型 ... -
理解 Flex itemRenderer - 第 1 部分: 内联渲染器
2009-08-05 16:37 3106Flex 提供许多控制, 它们可以按不同方式显示大量数据。Li ... -
flex 中类似Google的提示下拉菜单实现
2009-08-01 16:28 5382项目中使用类似Gooogle输入提示菜单的实现如下 ... -
针对Flex中组件的扩展的应用开发
2009-08-01 16:04 2838在项目中使用一个自定义的CheckboxGroup组件继承自C ... -
Flex类似Google搜索提示的两种做法思路
2009-08-01 15:52 2650做了个简单的搜索提示 ... -
Flex中直接获取某个组件的对象
2009-08-01 15:47 2412Flex中直接获取某个组件的对象方案1: 遍历这些butto ... -
flex 查看类的各种数据的权限
2009-08-01 15:18 1832查看类的一些属性的信息:可读,可写,可读可写。 ... -
flex中getDefinitionByName 函数的使用
2009-08-01 12:40 6686在项目中自定义一个CheckboxGroup,这个控件里面 ... -
Flex 学习中数据类型必须注意的几点
2009-08-01 12:36 2183在字符串转换为int类型必须使用 最好如下: var a:i ...
相关推荐
对于Flex +BlazeDS+java开发的项目分页组件的实现,基本设计是分页ui组件负责前台分页的显示,后台java实现sql分页查询。 附带源码。
使用blazeds可以与java语言交互,实现绚丽的前端flex结合强大的java后台!必备组件哦
JsSocket 是使用js + flex + java开发的一套基于web的socket通信组件 主要解决大家在开发web项目时需要用到前台与后台时时通信时的问题,除了HTML5的WebSocket之外,之前大家使用的方法一般为:1、页面间断刷新;2、...
将flex中datagrid组件中数据导出到excel表格中。思路很简单,利用as将datagrid中的数据解析出来,传到后台java服务端处理,即可保存为excel文件。
我个人还是比较推崇apache的Struts2的,当然了,apache的JSF实现和JSF组件也是相当地杠杠的!!!!JSF更贴近事件比较多的web前端处理机制。想想我们一般要接收和处理页面的各种事件是用什么:js函数+ajax处理是吧...
使用Flex,Java,Json更新Mysql数据库 已经介绍了如何使用Json格式的数据从后台用remoteObject的方法读取后现在Flex的DataGrid中。但是如果数据的量很大,就要使用scroll的方式来浏览了,这样造就了很多不变。参考了...
使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标...
小程序完整demo:飞翔的小鸟:canvas实现,java后端(适用1221) 小程序官方Demo 小程序版2048 小程序页面生成器 康爱多微商城:学习界面设计 微票 我厨 tab 界面设计 手势解锁 掘金首页信息流 摇一摇换文章 教务系统 ...
实时消息推送系统的架构主要包括 NCM 导航服务器、DB 数据库、WS 广播服务器、Admin 后台、API 服务器等组件。 设计指标 实时消息推送系统的设计指标包括: * 电量小于 5% * 流量小于 3MB/月 * 性能:30 秒内发送...