zoukankan      html  css  js  c++  java
  • 文件夹内多文件上传到服务器

    文件夹上传至服务器
    希望可以给你一点帮助

    直接上代码
    jsp页面

    <div style="text-align:center; vertical-align:middel" id="uploadFile">
    <input type="file" name="file" id="file" multiple="multiple"
    webkitdirectory /> <br> <br>
    <button id="upload" onclick="f_upload()">上传</button>
    &nbsp;&nbsp;
    <button id="btnBack">返回</button>
    </div>
    1
    2
    3
    4
    5
    6
    7
    function f_upload(){
    var url =’<%=rootPath%>/module/impExp/ImpExpAction.do?method=dispatchImpt&code=<%=code%>’;
    var paths = document.getElementById(“file”).files;
    if(paths.length==0) {
    alert(“请选择文件”);
    return;
    }
    var formData=new FormData();
    for(var i = 0;i<paths.length;i++){
    var file=paths[i];
    formData.append(paths[i].name,paths[i]);
    }
    $.ajax({
    url : url,
    cache : false,
    data : formData,
    type : ‘POST’,
    processData : false,
    contentType : false,
    success : function(flag) {
    if (flag != “0”) {
    alert(“上传成功”);
    javascript: history.back(-1);
    }else{
    alert(“上传失败!!!”)
    }
    }
    });
    }
    //返回
    function f_back() {
    javascript: history.back(-1);
    }

    后端代码
    public ActionForward dispatchImpt(ActionMapping mapping,
    ActionForm form, HttpServletRequest request,
    HttpServletResponse response) throws Exception {
    /*
    * 方法二 :
    */
    ResourceBundle rb = ResourceBundle.getBundle(“config”);
    String userDataHomeDir = rb.getString(“USER_DATA_HOME_DIR”) + rb.getString(“AFFIX_DIR”);

    String oss = commonUtil.getCloudPath();

    String codeNumber =commonUtil.getCodeNumber();

    >
    String code = request.getParameter("code")==null?"":request.getParameter("code");
    CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
    request.setCharacterEncoding("utf-8");
    MultipartHttpServletRequest multiRequest = multipartResolver.resolveMultipart(request);
    //取得request中的所有文件名
    Iterator<String> iter = multiRequest.getFileNames();
    while(iter.hasNext()){
    //取得上传文件
    MultipartFile file = multiRequest.getFile(iter.next());
    if(file!=null){
    //取得当前上传文件的文件名称
    String myFileName = file.getOriginalFilename();
    //如果名称不为“”,说明该文件存在,否则说明该文件不存在
    if(myFileName.trim()!=""){
    //重命名上传后的文件名
    String fileName = file.getOriginalFilename();
    //定义文件上传路径
    String dirPath=userDataHomeDir+codeNumber+code;
    //阿里云存放地址
    String ossPath = oss+codeNumber+code+"/"+fileName.substring(0,fileName.lastIndexOf("."))+"/"+fileName;
    File dir = new File(dirPath);
    if(!dir.exists()){
    dir.mkdirs();
    }
    File localFile = new File(dir,"/"+fileName);
    file.transferTo(localFile);
    String uploadpath =dirPath+"/"+fileName;
    System.out.println("ossPath======="+ossPath);
    System.out.println("localFile==="+localFile);
    System.out.println("阿里云存放路径==="+uploadpath);

    }
    }
    }

    CommonUtil.deleteDir(bd.toString());
    return null;
    }
    --------------------- 

  • 相关阅读:
    SpringMvc完成ajax功能
    接收的参数为日期类型
    Mybatis的逆向工程(generator)以及分页助手(pageHelper)
    springMVC静态资源的映射
    Mybatis框架
    写一个简单的SpringMvc的demo
    SpringMvc流程
    controller进行数据保存以及如何进行重定向跳转
    我爱C语言
    三列布局中有两列内容固定
  • 原文地址:https://www.cnblogs.com/ly570/p/10983141.html
Copyright © 2011-2022 走看看