Hello guys, I'm developing an application that GWT call Flex using ExternalInterface. To Upload image file to GWT server side(hosted mode) from Flex application, I call Flex function FileReference.upload(). But it doesn't work. Despite the fact that GWT server send "Http status 200" in GWT hosted mode log, but ioerror or no event occur in Flex side. (The image file is uploaded fine.)
I created a Simple Example that same trouble occur. Below is related files: Flex mxml code: -------------------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"> <local:FileUploadController id="controller"/> <mx:ControlBar horizontalAlign="right"> <mx:Button id="startUpload" label="Upload..." click="controller.startUpload();" /> </mx:ControlBar> </mx:Application> Flex AS code: -------------------------------------------------------------------------------- package { import flash.events.Event; import flash.events.IOErrorEvent; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.URLRequestMethod; import mx.controls.Alert; import mx.core.IMXMLObject; public class FileUploadController { private static var _fileReference:FileReference = new FileReference (); public function startUpload():void { _fileReference.addEventListener(Event.SELECT, selectHandler); _fileReference.addEventListener(Event.COMPLETE, completeHandler); _fileReference.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _fileReference.browse(); } public function selectHandler(event:Event):void { var urlRequest:URLRequest = new URLRequest(); urlRequest.url = "http://localhost:8080/SimpleGwt/myservlet"; urlRequest.method = URLRequestMethod.POST; _fileReference.upload(urlRequest); } public function completeHandler(event:Event):void { Alert.show("progressHandler: " + event); } public function ioErrorHandler(event:Event):void { Alert.show("ioErrorHandler: " + event); } } } GWT servlet code: -------------------------------------------------------------------------------- package simplegwt.server; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // image save code here PrintWriter writer = resp.getWriter(); writer.write("success"); writer.close(); } } web.xml code: -------------------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <!-- Servlets --> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>simplegwt.server.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/SimpleGwt/myservlet</url-pattern> </servlet-mapping> <!-- Default page to serve --> <welcome-file-list> <welcome-file>SimpleGwt.html</welcome-file> </welcome-file-list> </web-app> Any help will be appreciated Thank you Katigaki --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
