zoukankan      html  css  js  c++  java
  • Ajax异步上传多个文件并返回文件路径

    前端JSP页面代码

    <label>附件:</label>
    <form id="fileForm">
    <input type="file" name="files" multiple="multiple" >
    <input type="button" id="btn_add_file" value="上传附件" onclick="upload_files()">
    </form>
    <script>
    function upload_files(){
    var formData = new FormData($("#fileForm")[0]);
    $.ajax({
    url : path.basePath+"file/uploadFiles2.do",
    type: 'POST',
    data: formData,
    async: false,
    cache: false,
    contentType: false,
    processData: false,
    success : function(data) {
    alert("成功了!"+data);
    },
    error : function(data) {
    alert("失败了!"+data);
    }
    });
    </script>

    java springMVC后台代码

    @RequestMapping(value = "uploadFiles2.do", method = RequestMethod.POST)
    @ResponseBody
    public String uploadFiles2(@RequestParam(value="files")List<MultipartFile> list,HttpServletRequest request) {
    System.out.println("**************************进入uploadFiles2方法*********************************");
    Map<String,String> map = new HashMap<String,String>();
    try {
    for (MultipartFile file : list) {
    String fileName = file.getOriginalFilename();
    String saveName = UUID.randomUUID().toString().replace("-","") + fileName.substring(fileName.lastIndexOf("."));
    String savedPath = request.getSession().getServletContext().getRealPath("/uploadFiles/");//获取服务器指定文件存取路径
    File saveDir = new File(savedPath);
    if (!saveDir.exists()){
    saveDir.mkdirs();
    }
    File saveFile = new File(savedPath, saveName);
    System.out.println(saveFile);
    map.put(fileName,saveFile.toString());
    file.transferTo(saveFile);
    }
    return map.toString();
    } catch (IllegalStateException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    return null;
    }
  • 相关阅读:
    使用Docker Swarm搭建分布式爬虫集群
    如果你不知道做什么,那就学一门杂学吧
    正则表达式re.sub替换不完整的问题现象及其根本原因
    Visual Studio 2019 正式版今日发布 key
    net core 记录自定义端口多个方式
    HTTP Error 500.0
    来自后端的逆袭 blazor简介 全栈的福音
    创建一个RAS 非对称 公私密钥示例
    树莓派安装window ioT
    WPF USB设备采集开源工具介绍
  • 原文地址:https://www.cnblogs.com/wanghongyun/p/9324434.html
Copyright © 2011-2022 走看看