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:

奉上完整的工程和代码的地址:工程源代码 ;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值