Flex中Image控件相关之Java+Flex项目中利用JSPSmartUpload进行文件上传。(文件上传)
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="creationHandler(event)"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.FlexEvent; import org.osmf.media.URLResource; private var fileRefer:FileReference = new FileReference(); protected function bordercontainer1_clickHandler(event:MouseEvent):void { // TODO Auto-generated method stub fileRefer.browse([new FileFilter("图片(*.jpg;*.png;*.gif)","*.jpg;*.png;*.gif")]); } protected function creationHandler(event:FlexEvent):void { // TODO Auto-generated method stub fileRefer.addEventListener(Event.SELECT,selectHandler); fileRefer.addEventListener(Event.COMPLETE,completeHandler); } private function selectHandler(event:Event):void{ fileRefer.load(); } private function completeHandler(event:Event):void{ btn_source.source = fileRefer.data; Alert.show("成功..."); } protected function button1_clickHandler(event:MouseEvent):void { // TODO Auto-generated method stub var vars:URLVariables = new URLVariables(); vars['username'] = lab_username.text; var request:URLRequest = new URLRequest("http://localhost:9080/ComponentAll/upload"); request.method = URLRequestMethod.POST; request.data = vars; fileRefer.upload(request); } ]]> </fx:Script> <fx:Declarations> </fx:Declarations> <s:BorderContainer x="5" y="8" width="200" height="200" click="bordercontainer1_clickHandler(event)"> <s:Image id="btn_source" left="2" right="2" top="2" bottom="2" /> </s:BorderContainer> <s:TextInput x="266" y="190.55" id="lab_username"/> <s:Label x="213" y="195" text="姓名" /> <s:Button x="427" y="189.5" label="提交" click="button1_clickHandler(event)"/> </s:Application>package com.lmx.servlet;
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jspsmart.upload.SmartUpload; import com.jspsmart.upload.SmartUploadException; /** * Servlet implementation class UploadServlet */ @WebServlet("/upload") public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public UploadServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ @SuppressWarnings("deprecation") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //实例化 SmartUpload smart = new SmartUpload(); //初始化 smart.initialize(this.getServletConfig(), request, response); //上传准备,保存路劲 try { smart.upload(); System.out.println(request.getRealPath("upload")); smart.save("upload"); //需要在项目下建立一个upload包 System.out.println(smart.getFiles().getFile(0).getFileName()); System.out.println(smart.getRequest().getParameter("username")); } catch (SmartUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }