java flex 上传文件_使用Flex和java servlet上传文件
资源都是来自网上。本实例将展示使用Flex和java servlet上传文件。
事前准备就是到http://commons.apache.org 下载common-fileupload-1.1.1.jar以及common-io-1.2.jar两个包。
前台Flex代码:
Xml代码
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 HTTPGET
andPOST
methods.
* @param request servlet request
* @param response servlet response
*/
// 定义文件的上传路径
private StringuploadPath="d:\\a\\";
// 限制文件的上传大小
private intmaxPostSize=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");
PrintWriterout=response.getWriter();
//保存文件到服务器中
DiskFileItemFactoryfactory=newDiskFileItemFactory();
factory.setSizeThreshold(4096);
ServletFileUploadupload=newServletFileUpload(factory);
upload.setSizeMax(maxPostSize);
try {
ListfileItems=upload.parseRequest(request);
Iteratoriter=fileItems.iterator();
while (iter.hasNext()) {
FileItemitem= (FileItem) iter.next();
if (!item.isFormField()) {
Stringname=item.getName();
System.out.println(name);
try {
item.write(new File(uploadPath + name));
// SaveFiles=newSaveFile();
// s.saveFile(name);
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
System.out.println(e.getMessage() + "结束");
}
}
//
/**
* Handles the HTTPGET
method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTPPOST
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";
}
//
}
如果使得你的Servlet被访问,你还需要在WEB-INF/web.xml 添加如下的xml语句:[在中]
FileUploaded
upload.FileUploaded
FileUploaded
/FileUploaded
效果图:
java flex 上传文件_使用Flex和java servlet上传文件相关推荐
- java 写tb级文件_三管齐下!TB 级文件的上传性能瞬间被优化 100 倍!
作者 | 中华石杉 责编 | 伍杏玲 本文经授权转载石杉的架构笔记(ID:shishan100) 这篇文章我们来看看,世界上最优秀的分布式文件系统HDFS,是如何对超大文件的上传做性能优化的? 首先, ...
- maven 打包时缺少文件_(三)Java资源文件和路径相关扫盲
本来打算接着上文直接写登录功能的,顺便介绍下SpringSecurity,但是SpringSecurity和Spring以及SpirngBoot是如何衔接的又是个较为复杂的事情.看了下SpringBo ...
- java编写布局文件_鸿蒙OS利用JAVA编写的布局实践练习
鸿蒙OS利用JAVA编写的布局实践练习 鸿蒙OS利用JAVA编写的布局实践练习 目录 JAVA UI框架 利用JAVA代码实现一个简单的布局 利用xml实现上述布局 JAVA UI框架 ??应用的Ab ...
- java读取csv文件_使用扫描仪读取Java中的CSV文件
java读取csv文件 We can use Java Scanner Class to read CSV File in java. 我们可以使用Java扫描程序类在Java中读取CSV文件. 读取 ...
- iphone和mac互传文件_mac和windows怎么互传文件_让mac和windows电脑互传文件的方法-系统城...
由于工作需要要用到两台电脑,一台是安装windows电脑,一个则是使用macbook系统.偶尔会需要在两台电脑之间互传文件的需求,虽说QQ和微信可以实现传输,但是如果文件太大还得压缩,显得很麻烦.有什 ...
- java 序列化 文件_一种恢复Java序列化文件数据的方法与流程
本发明涉及信息安全技术领域,特别涉及一种恢复Java序列化文件数据的方法. 背景技术: 在数据解析恢复领域经常会遇到序列化文件的解析.Java序列化是Java 自身提供的一种数据序列化方式,它允许开发 ...
- Java多线程读取excel文件_解决springboot 多线程使用MultipartFile读取excel文件内容报错问题...
springboot项目开启多线程 启动类加注解开启 @EnableAsync,实现类方法加注解 @Async 前端页面 报错信息 java.io.FileNotFoundException: C:\ ...
- Java调用系统解压_记一次Java利用cmd命令调用WinRAR压缩文件-压缩文件
前言 最近在和一个档案管理系统对接,需要把我方系统文件压缩成zip格式,通过ftp的方式upload到指定的服务器上,考虑到Java的平台无关性,一开始便使用Java自带的类库java.util.zi ...
- java 删除过期文件_定时脚本: 删除HDFS中的过期文件
1. 基本原理: 通过hadoop fs -ls *命令获取相关文件或目录的修改时间,然后与设定的过期时间进行比较,之后执行删除操作即可 2. 相关代码: #!/bin/bash source ~/. ...
最新文章
- 重磅 | 王劲被百度起诉后首露面:称打印机电脑已报废,赔了318块钱,没接到法院传票
- supervisord+supervisorclusterctl+supervisord-monit
- 织梦channel标签currentstyle样式无效不起作用
- Task和async/await详解
- PHP完整的一次请求过程:请求 dns nginx监听 转发给php-fpm worker处理 返给nginx
- python返回列表中出现次数最多的数
- MySQL数据存储目录查找
- 个人永久性免费-Excel催化剂功能第119波-一大波虚构数据,支持多国语言版本
- linux之让终端支持C++11/14编译cpp文件
- Taro+react开发(82):设置默认属性
- 个人作业-软件产品案例分析
- mysql技术任务_MySQL基础教程(13)MySQL计划任务
- Xbox360手柄驱动xbcd+
- TASKCTL单机/分布式部署,启动服务/代理节点监听
- 宝塔实测-电商ERP进销存系统源码
- android 获取视频码率和缓存大小,android - 使用MediaCodec和MediaMuxer录制视频,但比特率和帧率不正确 - 堆栈内存溢出...
- Amazon S3对象储存(以图片为例)
- 一元二次方程abc决定什么_专题—二次函数一元二次方程-abc意义.pptx
- 二维码生成器在线制作带logo二维码
- 辰视智能主办的第二届智能制造高峰论坛昨日在深圆满举行