flex java 上传下载_Flex+Java Servlet文件上传实例

前台Flex代码:

import flash.net.FileReference;

import mx.controls.Alert;

import mx.events.CloseEvent;

import flash.events.*;

private var file: FileReference;

private function init(): void{

Security.allowDomain("*");

file = new FileReference();

file.addEventListener(ProgressEvent.PROGRESS, onProgress);

file.addEventListener(Event.SELECT, onSelect);

file.addEventListener(Event.COMPLETE, completeHandle);

}

private function completeHandle(event:Event):void{

Alert.show("恭喜你,上传成功");

}

private function upload(): void{

var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.png)", "*.jpg;*.jpeg;*.png");

var allTypes:Array = new Array(imageTypes);

file.browse(allTypes);

file.browse();

}

private function onSelect(e: Event): void{

Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?",

"确认上传",

Alert.YES|Alert.NO,

null,

proceedWithUpload);

}

private function onProgress(e: ProgressEvent): void{

lbProgress.text = " 已上传 " + e.bytesLoaded

+ " 字节,共 " + e.bytesTotal + " 字节";

var proc: uint = e.bytesLoaded / e.bytesTotal * 100;

bar.setProgress(proc, 100);

bar.label= "当前进度: " + " " + proc + "%";

}

private function proceedWithUpload(e: CloseEvent): void{

if (e.detail == Alert.YES){

var request: URLRequest = new URLRequest("http://localhost:8080/FileUploaded/FileUploaded");

try {

file.upload(request);

} catch (error:Error) {

trace("上传失败");

}

}

}

]]>

minimum="0" visible="true" maximum="100" label="当前进度: 0%"

direction="right" mode="manual" width="200"/>

接下来写的是Java Servlet:

package upload;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Iterator;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

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;

/**

*

* @author crystal

*/

public class FileUploaded extends HttpServlet {

/**

* Processes requests for both HTTP GET and POST methods.

* @param request servlet request

* @param response servlet response

*/

// 定义文件的上传路径

private String uploadPath = "d:\\a\\";

// 限制文件的上传大小

private int maxPostSize = 100 * 1024 * 1024;

public FileUploaded() {

super();

}

public void destroy() {

super.destroy();

}

protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

System.out.println("Access !");

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

//保存文件到服务器中

DiskFileItemFactory factory = new DiskFileItemFactory();

factory.setSizeThreshold(4096);

ServletFileUpload upload = new ServletFileUpload(factory);

upload.setSizeMax(maxPostSize);

try {

List fileItems = upload.parseRequest(request);

Iterator iter = fileItems.iterator();

while (iter.hasNext()) {

FileItem item = (FileItem) iter.next();

if (!item.isFormField()) {

String name = item.getName();

System.out.println(name);

try {

item.write(new File(uploadPath + name));

// SaveFile s = new SaveFile();

// s.saveFile(name);

} catch (Exception e) {

e.printStackTrace();

}

}

}

} catch (FileUploadException e) {

e.printStackTrace();

System.out.println(e.getMessage() + "结束");

}

}

//

/**

* Handles the HTTP GET method.

* @param request servlet request

* @param response servlet response

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Handles the HTTP POST method.

* @param request servlet request

* @param response servlet response

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Returns a short description of the servlet.

*/

public String getServletInfo() {

return "Short description";

}

//

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值