java ajaxupload_Java中利用ajaxfileupload.js组件实现文件的上传功能
概要:
在Java中,利用ajaxfileupload.js+commons-fileupload-1.3.1.jar 实现文件上传功能。
关键字:
Java,上传,ajaxfileupload,fileupload
内容:
进行Web方面的开发时,文件上传是经常会使用到的,所以如果能有一个简单、实用、性能良好的上传组件,我想是极好的,那么ajaxfileupload.js应该是个不错的选择,下面我就分享一次我的使用经验。
这次文件上传的整个过程主要有一个Jsp文件、一个Java文件、一个Js文件组成,首先我们来看一下Jsp页面的代码:
文件1:upload.jsp
是的,你没有看错,jsp页面就只要这两行代码,接下来是js文件的代码。
文件2:upload.js
var basePath = null;
$(function() {
basePath = $("#basePath").attr("value");
$("#scbtn").click(function() {
ajaxFileUpload();
});
});
// 文件上传
function ajaxFileUpload() {
$.ajaxFileUpload({
url : basePath + "upload.ajax",// 用于文件上传的服务器端请求地址
secureuri : false,// 一般设置为false
fileElementId : 'attachfiles',// 文件上传控件的id属性
dataType : 'json',// 返回值类型 一般设置为json
enctype : "multipart/form-data",
success : function(data, status) // 服务器成功响应处理函数
{
},
error : function(data, status, e) {
}
});
return false;
}
Js部分的代码主要是利用jQuery中发送ajax请求,访问后台的代码,那么接下来自然就是Java代码,你准备好了吗?
文件3:UploadAjaxManager.java
package org.4spaces.demo;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
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 四个空格:https://www.4spaces.org
*
*/
public class UploadAjaxManager extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String uri = request.getRequestURI();
int startIndex = uri.lastIndexOf("/") + 1;
int endIndex = uri.lastIndexOf(".");
String action = uri.substring(startIndex, endIndex);
if (action.equals("upload")) {
try {
request.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("UTF-8");
List fileList = new ArrayList();
try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
ex.printStackTrace();
}
String targetPath = request.getSession().getServletContext()
.getRealPath("jsp/upload")
+ "/";
String fileName = "blank.doc";
for (FileItem item : fileList) {
if (!item.isFormField()) {
fileName = item.getName();
File saveFile = new File(targetPath + fileName);
try {
item.write(saveFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
当然,上面的代码一定不要忘记导包: commons-fileupload-1.3.1.jar和commons-io-2.4.jar.
好了,有了上面的代码,你就可以轻松的实现上传文件了。
PS:
奉上完整的工程和代码的地址:工程源代码 ;
java ajaxupload_Java中利用ajaxfileupload.js组件实现文件的上传功能相关推荐
- 关于Java项目中,word和Excel类型文件的预览功能实现
关于Java项目中,word和Excel类型文件的预览功能实现 背景 Aspose说明 Aspose.Words Aspose.Cells pom依赖引入 引入license.xml(授权文件) 创建 ...
- 大文件分片上传前端框架_基于Node.js的大文件分片上传
基于Node.js的大文件分片上传 我们在做文件上传的时候,如果文件过大,可能会导致请求超时的情况.所以,在遇到需要对大文件进行上传的时候,就需要对文件进行分片上传的操作.同时如果文件过大,在网络不佳 ...
- php 拖拽 上传文件 进度,在Vue中如何实现带进度条的文件拖动上传功能
这篇文章主要介绍了Vue实现带进度条的文件拖动上传功能,本文通过实例代码给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下 1. 基本界面 content="width=devic ...
- 源生ajax同步异步请求,源生JS怎样实现文件异步上传
这次给大家带来源生JS怎样实现文件异步上传,源生JS实现文件异步上传的注意事项有哪些,下面就是实战案例,一起来看一下. 名称 文件 确定 function ajaxUploadFile() { var ...
- java 文件下载 组件_java文件夹上传下载组件
核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. *如何分片: *如何合成一个文件: *中断了从哪个分片开始. ...
- curl http header_利用Linux命令cURL实现文件定时上传到ftp服务器的小程序,实用
前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...
- 小程序基础开发(四):weui-wxss组件表单页面,WxValidate.js组件表单验证上传
一,使用weui-wxss组件做一个表单页面 WeUI组件库简介 这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库,由微信官方设计团队和小程序团队为微信小 ...
- dropzone.js php,Laravel 5.1 中基于 Dropzone.js 实现图片拖拽上传及删除功能
注:本教程代码适用于Laravel 5.1版本. 1.概述 Dropzone 是目前最好的免费文件拖拽上传库,它拥有很多特性和选项以便你可以使用多种方式来自定义. 在Laravel项目集成Dropzo ...
- Java连接FTP服务器并且实现对其文件的上传和下载
概述 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".FTP作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用.F ...
最新文章
- 使用Rancher管理Docker
- 一些信号与自己的卷积结果
- pyqt 槽任意参数_PyQt5快速入门(二)PyQt5信号槽机制
- 让360安全浏览器默认使用谷歌内核
- java网页统计访客量_Java中的访客设计模式
- 小木棍 [数据加强版]*
- 【BZOJ2115】Xor(线性基---求无向图1-n路径上最大的边权异或值--可出现环)
- 大学报到前最后的技术——VMware探究
- 计算机技能高考带什么文具,高考必备——21条考场抓分细节
- 如何用ps做计算机二级报名照片,等级考试照片PS教程
- 为什么JAVA图标是一杯咖啡?
- 怎么设置系统消息免打扰,看这里就够了,WIN10系统如何设置系统消息免打扰
- Android APP安装后不在桌面显示图标的应用场景举例和实现方法
- MySQL学习笔记整理(上部)
- easy_nbt——Bugku
- java输入菱形边长,输出菱形
- 【gis技术】web墨卡托投影和经纬度直投的差别
- SSM配置地狱?一篇整合模板迅速解决!【建议收藏】
- vue v-for和v-if同时使用
- GCC 命令行详解 -L -l