SpringMVC Shiro 上传文件时,获取的是ShiroHttpServletRequest,如何转换成MultipartHttpServletRequest

  • Post author:
  • Post category:其他



  1. ShiroHttpServletRequest shiroRequest = (ShiroHttpServletRequest) request;

  2. CommonsMultipartResolver commonsMultipartResolver =

    new


    CommonsMultipartResolver();


  3. MultipartHttpServletRequest multipartRequest = commonsMultipartResolver.resolveMultipart((HttpServletRequest) shiroRequest.getRequest());


  4. Iterator<String> itr = multipartRequest.getFileNames();

  5. MultipartFile multipartFile =

    null


    ;




  6. while


    (itr.hasNext()) {


  7. multipartFile = multipartRequest.getFile(itr.next());

  8. String fileRealName = String.valueOf(

    new


    Date().getTime());


  9. fileRealName = fileRealName + FileUtils.getSuffix(multipartFile.getOriginalFilename());


  10. HSSFWorkbook hssfWorkbook =

    new


    HSSFWorkbook(multipartFile.getInputStream());



  11. // xlsx





  12. //XSSFWorkbook xssfWorkbook = new XSSFWorkbook(multipartFile.getInputStream());






  13. if


    (hssfWorkbook !=


    null


    ) {



  14. for


    (


    int


    numSheet =


    0


    ; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {


  15. HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);


  16. // xlsx





  17. //XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);






  18. // 循环行Row





  19. for


    (


    int


    rowNum =


    0


    ; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {



  20. if


    (rowNum ==


    0


    ) {



  21. continue


    ;


  22. }

  23. HSSFRow hssfRow = hssfSheet.getRow(rowNum);


  24. if


    (hssfRow ==


    null


    || (hssfRow.getCell(


    0


    ) ==


    null


    && hssfRow.getCell(


    1


    ) ==


    null


    && hssfRow.getCell(


    2


    ) ==


    null


    && hssfRow.getCell(


    3


    ) ==


    null


    && hssfRow.getCell(


    4


    ) ==


    null




  25. && hssfRow.getCell(

    5


    ) ==


    null


    && hssfRow.getCell(


    6


    ) ==


    null


    && hssfRow.getCell(


    7


    ) ==


    null


    && hssfRow.getCell(


    8


    ) ==


    null


    && hssfRow.getCell(


    9


    ) ==


    null


    )) {



  26. continue


    ;


  27. }


  28. }

  29. }

  30. }

  31. }

  32. JSONObject obj =

    new


    JSONObject();


  33. obj.put(

    “title”


    ,


    “123123”


    );



  34. return


    obj;


  35. }