ajax封装返回值判断 nuiapp_springMVC结合AjaxForm上传文件

本文介绍了如何在SpringMVC项目中结合AjaxForm实现文件上传。首先,文章提到了需要的依赖和配置,包括在`spring-servlet.xml`中配置`CommonsMultipartResolver`。接着展示了HTML页面和JavaScript代码,其中包含AJAX提交前的校验和成功后的回调处理。Java后端代码展示了如何处理上传的文件。最后,文章提供了相关学习资源,并提醒读者更多内容可在专题中找到。
摘要由CSDN通过智能技术生成

最近在项目中需要上传文件文件,之前一直都是form提交的,尝试了一下AjaxForm,感觉还比较好用,写篇随笔mark下,供以后使用。

准备工作:下载jquery-form.js

相关jar:

commons-fileupload-1.1.1.jar

commons-io-1.3.2.jar

在spring-servlet.xml进行multipartResolver配置:

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

这个是必须的,否则不好用。

页面:

pageEncoding="UTF-8" session="false" %>

Title

var contextPath="";

选择文件:

*

核心js:

var msg;

$(function(){

nui.parse();

//ajax配置

var options = {

url: contextPath+"/webapp/cfProjectType/importExcel",

beforeSubmit: showRequest, //提交前处理

success: showResponse, //处理完成

resetForm: true,

dataType: 'json'

};

$('#fileUpload').submit(function() { //注意

$(this).ajaxSubmit(options);

return false;//防止dialog 自动关闭

});

})

//执行成功回调函数

function showResponse(e) {

nui.hideMessageBox(msg);

if (e.importFlag == true) {

CloseWindow("ok");

} else {

//对错误的一些处理

}

}

//提交前的一些校验

function showRequest(formData, jqForm, options){

if(formData[0].value=="" || formData[0].value==null){

nui.alert("请选择文件");

return false;

}

var fileName = $("#uploadFile").val().split("\\").pop();

var strs = new Array(); //定义一数组

strs = fileName.split('.');

var suffix = strs [strs .length - 1];

if (suffix != 'xls' && suffix != 'xlsx') {

nui.alert("请选择excel文件!");

return false;

}

msg = nui.loading("Loading", "Please waiting");

}

java代码:

@SuppressWarnings("unchecked")

@RequestMapping("/webapp/cfProjectType/importExcel")

@ResponseBody

public Map importExcel(@RequestParam("file") MultipartFile[] files, HttpServletRequest request)

throws Throwable {

//long starttiem = System.currentTimeMillis();

InputStream fis;

fis = null;

File fileIn = null;

try {

for (MultipartFile myfile : files) {

if (!myfile.isEmpty()) {

String realPath = request.getSession().getServletContext().getRealPath("/export");

fileIn = new File(realPath);

//判断上传文件的保存目录是否存在

if (!fileIn.exists() && !fileIn.isDirectory()) {

//创建目录

fileIn.mkdirs(路径);

}

//将上传的文件复制到文件夹下

myfile.transferTo(new File(路径+文件名));

}

}

}

这里我之前用过另外一个方法FileUtils.copyInputStreamToFile(InputStream arg0, File arg1)同样能将文件保存到路径下面

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: springMVC结合AjaxForm上传文件

本文地址: http://www.cppcns.com/ruanjian/java/156349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值