org.springframework.util.AntPathMatcher#extractPathWithinPattern ( )源码实例Demo

下面列出了org.springframework.util.AntPathMatcher#extractPathWithinPattern ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: zfile   文件: DirectLinkController.java
/**
 * 获取指定驱动器, 某个文件的直链, 然后重定向过去.
 * @param   driveId
 *          驱动器 ID
 *
 * @return  重定向至文件直链
 */
@GetMapping("/directlink/{driveId}/**")
public String directlink(@PathVariable("driveId") Integer driveId, final HttpServletRequest request) {
    String path = (String) request.getAttribute(
            HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
    AntPathMatcher apm = new AntPathMatcher();
    String filePath = apm.extractPathWithinPattern(bestMatchPattern, path);

    if (filePath.length() > 0 && filePath.charAt(0) != ZFileConstant.PATH_SEPARATOR_CHAR) {
        filePath = "/" + filePath;
    }

    AbstractBaseFileService fileService = driveContext.get(driveId);
    FileItemDTO fileItem = fileService.getFileItem(filePath);

    String url = fileItem.getUrl();

    int queryIndex = url.indexOf('?');

    if (queryIndex != -1) {
        String origin = url.substring(0, queryIndex);
        String queryString = url.substring(queryIndex + 1);

        url = URLUtil.encode(origin) + "?" + URLUtil.encode(queryString);
    } else {
        url = URLUtil.encode(url);
    }


    if (Objects.equals(fileItem.getType(), FileTypeEnum.FOLDER)) {
        return "redirect:" + fileItem.getUrl();
    } else {
        return "redirect:" + url;
    }
}
 
源代码2 项目: zfile   文件: LocalController.java
/**
 * 本地存储下载指定文件
 *
 * @param   driveId
 *          驱动器 ID
 *
 * @return  文件
 */
@GetMapping("/file/{driveId}/**")
@ResponseBody
public ResponseEntity<Object> downAttachment(@PathVariable("driveId") Integer driveId, final HttpServletRequest request) {
    String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
    AntPathMatcher apm = new AntPathMatcher();
    String filePath = apm.extractPathWithinPattern(bestMatchPattern, path);
    LocalServiceImpl localService = (LocalServiceImpl) driveContext.get(driveId);
    return FileUtil.export(new File(StringUtils.removeDuplicateSeparator(localService.getFilePath() + ZFileConstant.PATH_SEPARATOR + filePath)));
}
 
源代码3 项目: hesperides   文件: ModuleTemplatesController.java
/**
 * Permet d'extraire la PathVariable "templateName", qui peut contenir des slashes.
 */
private static String extractFilePath(HttpServletRequest request) {
    String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
    AntPathMatcher apm = new AntPathMatcher();
    path = apm.extractPathWithinPattern(bestMatchPattern, path);
    return URLDecoder.decode(path, StandardCharsets.UTF_8);
}
 
源代码4 项目: wallride   文件: CategoryController.java
private String extractPathFromPattern(final HttpServletRequest request){
    String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    String bestMatchPattern = (String ) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);

    AntPathMatcher apm = new AntPathMatcher();
    String finalPath = apm.extractPathWithinPattern(bestMatchPattern, path);

    return finalPath;
}
 
源代码5 项目: airsonic-advanced   文件: ControllerUtils.java
public static String extractMatched(final HttpServletRequest request) {

        String path = (String) request.getAttribute(
                HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
        String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);

        AntPathMatcher apm = new AntPathMatcher();

        return apm.extractPathWithinPattern(bestMatchPattern, path);

    }
 
源代码6 项目: airsonic   文件: ControllerUtils.java
public static String extractMatched(final HttpServletRequest request) {

        String path = (String) request.getAttribute(
                HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
        String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);

        AntPathMatcher apm = new AntPathMatcher();

        return apm.extractPathWithinPattern(bestMatchPattern, path);

    }
 
源代码7 项目: onboard   文件: WebUtils.java
public static String extractPathFromPattern(final HttpServletRequest request) {

        String path = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
        String bestMatchPattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);

        AntPathMatcher apm = new AntPathMatcher();
        String finalPath = apm.extractPathWithinPattern(bestMatchPattern, path);

        return finalPath;

    }