java+flex怎么上传文件

java+flex怎么上传文件,第1张

在Adobe的Flex RIA编程环境下,是无法读取本地文件的(据我所知),但是我们可以依赖于Flex调用后台的代码实现文件上传功能,我这里是利用Flex的URLRequest来向java的Servlet传送一个Http请求(Servlet集成自HttpServlet ,已实现文件上传旅者功能)胡虚,而Servlet响应请求之后会利用Apcahe的开源Jar包(org.apache.commons.fileupload.servlet.ServletFileUpload类)完成文件的生成。 通过以上原理就可以利用Flex+java实现文件上传。( 多自己研究一下吧 , 我也是自己裤镇燃慢慢琢磨出来的 。 呵呵 。我可不经常上百度帮你哦

关于flex上传功能的实现依赖于FileReference类。该类实例对象盯皮的创建有两种方法:使用var myFileReference = new FileReference()FileReferenceList.browse()。使用browse()或者FileReference.browse()方法可凯源差以打开上传窗口。Flex上传需要两个包apache common fileupload.jar和apache common io.jar 。具体可以百裂扰度搜索。

推荐用remoteObject方式。

这里需要用到services-config.xml配置文件,我个人理搜亩帆解的该配置文件就是一个Flex与业务层间的通道。

假设业务层有一个java类TestAction.java

①那么services-config.xml配置文件中的写法就是这样:

<destination id="TestAction">

<channels>

<channel ref="spring-amf" />

</channels>

</destination>

完成这个配置之后就可以在Flex层调用TestAction里的方法了。

②在MXML文件中这样写:

<mx:RemoteObject id="TestAction"

destination="TestAction"

showBusyCursor="世雹true">

<mx:method name="findDataList"

result="processFindDataList(event.result)">

</mx:method>

</mx:RemoteObject>

其中destination就是你在services-config.xml配置文件声明的通道,

id是你在对应的AS文件可以用的名字。id你可以用随便的名字,你id起的是什么名字那你在AS文件中就用什么名字。

③AS文件中这样写

private function getDataList():void

{

TestAction.findDataList(String para1,String para2,.....)

}

findDataList是TestAction中声明的方法。TestAction.findDataList返回的结果耐旦用processFindDataList方法接收(在mx:RemoteObject 中已经声明)

private function processFindDataList(result:Object):void

{

if(result != null)

{

处理

}

else

{

Alert.show("没有你想要的结果")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12137376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存