Java 文件上传 JQ 文件上传

Demo下载

http://download.csdn.net/detail/qq873113580/8823259

效果图

这个后续自己可以改成弹窗的 主要是用了jqupload 下面是前台页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ajax File Upload</title>
<style type="text/css">
	body {
		font-family: Verdana, Arial, sans-serif;
		font-size:90%;
	}
	h1, h2, h3, h4 {
		margin-top: 0px;
	}
	div.row {
		margin-bottom: 10px;
	}
	*.focus {
		outline: none;
	}
	.floatLeft {
		float: left;
	}
	.floatRight {
		float: right;
	}
	.clear {
		clear: both;
	}
	form {
		padding: 20px;
		border: 1px solid #cccccc;
		border-radius:10px;
		-moz-border-radius:10px;
		-webkit-box-shadow:0 0 10px #ccc;
		box-shadow: 0 0 10px #ccc;
		width:400px;
		margin:20px auto;
		background-image:-moz-linear-gradient(top,#ffffff,#f2f2f2);
		background-image:-webkit-gradient(linear,left top,bottom,from(#ffffff),to(#f2f2f2));
	}
	input {
		border:1px solid #ccc;
		font-size: 13pt;
		padding: 5px 10px 5px 10px;
		border-radius:10px;
		-moz-border-radius: 10px;
		-webkit-transition: all 0.5s ease-in-out;
		-moz-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
	}
	input[type=button] {
		background-image: -moz-linear-gradient(top, #ffffff, #dfdfdf);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#dfdfdf));
	}
	input:focus {
		-webkit-box-shadow:0 0 10px #ccc;
		-moz-box-shadow: 0 0 10px #ccc;
		box-shadow: 0 0 5px #ccc;
		-webkit-transform: scale(1.05);
		-moz-transform: scale(1.05);
		transform: scale(1.05);
	}
	#file {
		width: 378px;
	}
	#progressIndicator {
		font-size: 10pt;
	}
	#fileInfo {
		font-size: 10pt;
		font-style: italic;
		color: #aaa;
		margin-top: 10px;
	}
	#progressBar {
		height: 14px;
		border: 1px solid #cccccc;
		display: none;
		border-radius:10px;
		-moz-border-radius: 10px;
		background-image: -moz-linear-gradient(top, #66cc00, #4b9500);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#66cc00), to(#4b9500));
		background-color: #4b9500;
	}
	#uploadResponse {
		margin-top: 10px;
		padding: 20px;
		overflow: hidden;
		display: none;
		border-radius:10px;
		-moz-border-radius: 10px;
		border: 1px solid #ccc;
		box-shadow: 0 0 5px #ccc;
		background-image: -moz-linear-gradient(top, #ff9900, #c77801);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#ff9900), to(#c77801));
		background-color: #ff9900;
	}
</style>
</head>
<body>
<form id="form" enctype="multipart/form-data" method="post" action="/jsupload/upload">
  <div class="row">
    <label for="file">选择</label>
    <br/>
    <input type="file" name="file" id="file"/>
  </div>
  <div class="row">
    <input type="button" id="upload" value="上传" />
  </div>
  <div id="fileInfo">
    <div id="fileName"></div>
    <div id="fileSize"></div>
    <div id="fileType"></div>
  </div>
  <div class="row"></div>
  <div id="progressIndicator">
    <div id="progressBar" class="floatLeft"></div>
    <div id="progressNumber" class="floatRight"></div>
    <div class="clear"></div>
    <div>
      <!--上传速度信息,上传完成所需要时间信息暂时没有实现-->
      <!--
      <div id="transferSpeedInfo" class="floatLeft" style="width: 80px;"></div>
      <div id="timeRemainingInfo" class="floatLeft" style="margin-left: 10px;"></div>
      -->
      <div id="transferBytesInfo" class="floatRight" style="text-align: right;"></div>
      <div class="clear"></div>
    </div>
    <div id="uploadResponse"></div>
  </div>
</form>
<script type="text/javascript" src="script/jsupload.js"></script>
<script type="text/javascript">
;(function(document){
	//file 对象
	var file = document.getElementById('file'),
	//不支持File API的浏览器调用该接口,预览上传文件信息
	validUrl = '/jsupload/fileMessage',
	//上传文件处理接口
	uploadUrl = '/jsupload/upload',
	//不支持File API的浏览器调用该接口,显示文件上传进度
	progressUrl = '/jsupload/uploadProgress',
	//上传按钮
	upload = document.getElementById('upload'),
	//上传进度条
	progressBar = document.getElementById('progressBar'),
	//上传百分比
	progressNumber = document.getElementById('progressNumber'),
	//已上传文件大小
	transferBytesInfo = document.getElementById('transferBytesInfo'),
	//服务器端处理结果
	uploadResponse = document.getElementById('uploadResponse'),
	//初始化一个JsUpload对象
	jsUpload = new JsUpload({name:'__jsupload__',file:file,validUrl:validUrl,uploadUrl:uploadUrl,progressUrl:progressUrl});

	JsUpload.bind(file,'change',function(event){
		//隐藏上次上传完成后提示信息、进度条、上传大小
		progressBar.style.display = 'none';
		progressNumber.style.display = 'none';
		transferBytesInfo.style.display = 'none';
	    uploadResponse.style.display = 'none';

		jsUpload.change(this,function(name,size,type){
			//预览上传文件信息
			JsUpload.get('fileName').innerHTML = '文件名:' + name;
			JsUpload.get('fileSize').innerHTML = '文件大小:' + size;
			JsUpload.get('fileType').innerHTML = '文件类型:' + type;

		});
	});

	//上传文件
	JsUpload.bind(upload,'click',function(event){
		//隐藏上次上传完成后提示信息、进度条、上传大小
		progressBar.style.display = 'none';
		progressNumber.style.display = 'none';
		transferBytesInfo.style.display = 'none';
		uploadResponse.style.display = 'none';

		jsUpload.upload(this,file,function(cur,args1,args2){
			switch(cur){
				case 'progress':
					//显示上传文件进度条
					progressBar.style.display = 'block';
					progressNumber.style.display = 'block';
					transferBytesInfo.style.display = 'block';
				    progressBar.style.width = '0px';

				    progressNumber.innerHTML = args1 + '%';
	          		progressBar.style.width = args1 * 3.55 + 'px';
	          		transferBytesInfo.innerHTML = args2;
					break;
				case 'complete':
					uploadResponse.style.display = 'block';
					break;
				case 'fail':
				case 'load':
				case 'error':
				case 'abort':
					uploadResponse.innerHTML = args1;
					uploadResponse.style.display = 'block';
					break;
				default:
					break;
			}
		});
	});
})(document);
</script>
</body>
</html>
时间: 2024-11-03 03:44:16

Java 文件上传 JQ 文件上传的相关文章

WebUploader插件上传大文件单文件和多文件JAVA版使用总结

一.使用webuploader插件的原因说明 被现在做的项目坑了. 先说一下我的项目架构Spring+struts2+mybatis+mysql 然后呢.之前说好的按照2G上传就可以了,于是乎,用了ajaxFileUpload插件,因为之前用图片上传也是用这个,所以上传附件的时候就直接拿来用了 各种码代码,测试也测过了,2G文件上传没问题,坑来了,项目上线后,客户又要求上传4G文件,甚至还有20G以上的..纳尼,你不早说哦... 在IE11下用ajaxFileUpload.js插件上传超过4G的

Java实现HTML5拖拽文件上传

这是主页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+reques

Java Sftp上传下载文件

需要使用jar包  jsch-0.1.50.jar sftp上传下载实现类 package com.bstek.transit.sftp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import co

JAVA中使用FTPClient实现文件上传下载

在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件. 一.上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保([email protected])创建 * @param url FTP服务器hostname

edtftpj让Java上传FTP文件支持断点续传

在用Java实现FTP上传文件功能时,特别是上传大文件的时候,可以需要这样的功能:程序在上传的过程中意外终止了,文件传了一大半,想从断掉了地方继续传:或者想做类似迅雷下载类似的功能,文件太大,今天传一半,睡一觉去先,明天继续传. Java上传FTP文件,用的比较多的工具是apache的commons-net.如果想用commons-net实现FTP上传的断点续传还是有点麻烦. 除了commons-net之外,还有很多非常优秀的FTP工具,这里使用edtftpj这个工具来实现断点续传. 下载:ht

Java通过FTP服务器上传下载文件的解决方案

对于使用文件进行交换数据的应用来说,使用FTP 服务器是一个很不错的解决方案.本文使用Apache Jakarta Commons Net(commons-net-3.3.jar)基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作. 关于FileZilla Server服务器的详细搭建配置过程,详情请见FileZilla Server安装配置教程.之前有朋友说,上传大文件(几百M以上的文件)到FTP服务器时会重现无法重命名的问题,但本人亲测上传2G的文件到F

java web图片上传和文件上传

图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定要写属性enctype="multipart/form-data" 2.为了能保证文件能上传成功file控件的name属性值要和你提交的控制层变量名一致, 例如空间名是file那么你要在后台这样定义 private File file; //file控件名 private String fileContentType;//图

Java中实现FTP上传下载文件的功能,完整代码

一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法.下载文件的通用方法以及删除文件.在ftp服务器上穿件文件夹.检测文件夹是否存在等,里面的有些代码对编写JAVA文件上传或许有参考价值,Java FTP主文件代码: package ftpDemo;         import java.io.DataOutputStream;         import java.io.InputStream;         import java.io.Out

利用Java API通过路径过滤上传多文件至HDFS

在本地文件上传至HDFS过程中,很多情况下一个目录包含很多个文件,而我们需要对这些文件进行筛选,选出符合我们要求的文件,上传至HDFS.这时就需要我们用到文件模式. 在项目开始前,我们先掌握文件模式 1.文件模式 在某个单一操作中处理一系列文件是很常见的.例如一个日志处理的MapReduce作业可能要分析一个月的日志量.如果一个文件一个文件或者一个目录一个目录的声明那就太麻烦了,我们可以使用通配符(wild card)来匹配多个文件(这个操作也叫做globbing). Hadoop提供了两种方法