您的位置:首页 > Web前端 > JQuery

Jquery 的ajax实现文件上传,校验。

2017-11-06 14:58 429 查看
Html代码:

<div align="center">
<form id="uploadForm">
<input type="file" id="file" name="file"/>
<br/>
<br/>
<div class="iDate date">
<input type="text" id="datetime" name="datetime">
<button type="button" class="addOn"></button>
</div>
<br/>
<br/>
<input type="button" id="button" value="比较"/>
</form>
<br/>
<br/>
<p id="result" > </p>
</div>

Js代码:

$("#button").click(function(){

var obj = document.getElementById('file');
if(obj.value=='')
{
alert('请选择要核对的微信文件');
return;
}
var stuff=obj.value.match(/^(.*)(\.)(.{1,8})$/)[3];
if(stuff!='csv')
{
alert('文件类型不正确,请选择.csv文件');
return;
}
//获取文件名
var file = document.getElementById('file').files;
var filename = file[0].name;

//获取选择的时间
var datetime = $("#datetime").val();
var strs= new Array(); //定义一数组
strs = datetime.split("-"); //字符分割
/* alert(strs[1]);
alert(strs[2]); */

if(filename.indexOf(strs[1]) < 0 || filename.indexOf(strs[2]) < 0){
alert("请选择和文件相对应的核对时间!");
return;
}

var test = window.location.href;
var url = test.indexOf("?");
if(url == -1){
alert(test);
}else{
test = test.substr(0,url);
alert(test);
}

var formData = new FormData();
formData.append("myfile", document.getElementById("file").files[0]);
formData.append("datetime", datetime);
$.ajax({
url:test+'/ToCheck',
type: 'POST',
cache: false,
data: formData,
processData : false,
contentType : false,
success : function(jsonResponse) {
alert(jsonResponse.returnMessage);
/* $("#result").text(jsonResponse.returnMessage); */
$("#result").html(jsonResponse.returnMessage);
},
error : function(jsonResponse) {
alert("核对出错!!");
}
});

});

后台接收:

@SuppressWarnings("unchecked")
@RequestMapping(value = "/ToCheck")
@ResponseBody
public JsonResponse onFind(@RequestParam(value = "myfile", required = false)MultipartFile file,HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

JsonResponse jsonResponse = new JsonResponse();
jsonResponse.setReturnType(0);
String fileName = file.getOriginalFilename();
System.out.println(fileName);

String datetime = request.getParameter("datetime");
System.out.println(request.getParameter("datetime"));

CommonsMultipartFile cFile = (CommonsMultipartFile) file;
DiskFileItem fileItem = (DiskFileItem) cFile.getFileItem();
InputStream inputStream = fileItem.getInputStream();
FileInputStream fin = null;
// 如果是FileInputStream类型,进行转换
if
4000
(inputStream instanceof FileInputStream) {
System.out.println("1111");
fin = (FileInputStream) inputStream;
}

if(fin != null){
try {
jsonResponse.setReturnMessage(testCheck(datetime, fin));
} catch (Exception e) {
e.printStackTrace();
}
}else{
jsonResponse.setReturnMessage("上传的文件无法解析");
}

System.out.println(jsonResponse.getReturnMessage());
return jsonResponse;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: