java使用ajax完成上传文件
更新时间:2022年06月23日 14:09:06 作者:MR_非凡
这篇文章主要为大家详细介绍了java使用ajax完成上传文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java使用ajax完成上传文件的具体代码,供大家参考,具体内容如下
使用ajax上传文件最重要的就是实例化FormData来进行上传文件:
1、html代码:
<div class="kuang"> <p>文件上传</p> <div class="san3"> <input type="file" name="fujianID" id="fujianID" onchange="UpdateFile()"/> <input type = "hidden" name="fujianid" id="file2" /> </div> </div>
2、ajax请求代码:
<script type="text/javascript"> //上传文件 function UpdateFile(){ var file_fujian = $("input[name='fujianID']").val();//用户文件内容(文件) // 判断文件是否为空 if ( file_fujian== "") { layer.msg("青选择上传的附件",{icon:1,time:1000}); return false; } //判断文件类型,根据自己需要来做判断 /*var fujianID = file_fujian.substring( file_fujian.lastIndexOf(".") + 1).toLowerCase(); if(fujianID != "xls" && fujianID !="xlsx"&&fujianID !="docx"&&fujianID !="doc"&&fujianID !="txt"){ layer.msg("请选择Execl文或者word文件或者txt文件格式!",{icon:1,time:2000}); return false; }*/ //判断文件大小 var size1 = $("input[name='fujianID']")[0].files[0].size; if (size1>104857600) { layer.msg("上传的附件不能大于100M",{icon:1,time:2000}); return false; } boo1 = true; var type = "file"; var formData = new FormData();//这里需要实例化一个FormData来进行文件上传 formData.append(type,$("#fujianID")[0].files[0]); $.ajax({ type:'POST', url:'<%=request.getContextPath()%>/login/fujian_file', data:formData, async:false, processData:false, contentType:false, success:function(data){ if (data=="error") { layer.msg("附件添加失败",{icon:1,time:2000}); }else{ $("#file2").val(data.list); layer.msg("附件已添加",{icon:1,time:2000}); } } }); }
3、Java后台数据处理代码:
/** * 上传文件 * @param file * @param model * @param request * @return */ @RequestMapping(value="/fujian_file") @ResponseBody public Map<String, Object> uploadToUser(@RequestParam("file") MultipartFile file, Model model,HttpServletRequest request) { String fileName = file.getOriginalFilename(); if (fileName.indexOf("\\") != -1) { fileName = fileName.substring(fileName.lastIndexOf("\\")); } //String filePath = request.getContextPath()+ File.separator+"WebRoot"+ File.separator+"updatefile"+ File.separator; // 获取项目名称,文件上传位置 String filePath = request.getSession().getServletContext().getRealPath("/static/updatefile/files"); File f = new File(filePath); if (!f.exists()) { f.mkdirs();// 不存在路径则进行创建 } FileOutputStream out = null; try { // 重新自定义文件的名称 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String d = sdf.format(date);// 时间 //拼接文件路径和文件名 filePath = filePath +File.separator+ d + fileName; out = new FileOutputStream(filePath); out.write(file.getBytes()); out.flush();//清空缓冲区的数据流 out.close();//关闭流 } catch (Exception e) { //System.out.println(e); //打印抛出的异常 } Map<String,Object> map = new HashMap<String,Object>(); map.put("list",filePath ); return map; // 返回文件地址 }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Java8中LocalDateTime与时间戳timestamp的互相转换
这篇文章主要给大家介绍了关于Java8中LocalDateTime与时间戳timestamp的互相转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03SpringBoot中使用SpringSecurity进行权限控制的示例代码
本文将详细介绍如何在Spring Boot应用程序中使用Spring Security进行权限控制,我们将探讨Spring Security的基本概念,以及如何使用Spring Security实现认证和授权,需要的朋友可以参考下2024-02-02Spring中事务管理方案和事务管理器及事务控制的API详解
这篇文章主要介绍了Spring中事务管理方案和事务管理器及事务控制的API详解,事务管理是指对事务进行管理和控制,以确保事务的正确性和完整性,事务管理的作用是保证数据库的数据操作的一致性和可靠性,需要的朋友可以参考下2023-08-08
最新评论