joget 预览插件用到的知识

本文主要介绍在开发joget预览插件过程中涉及的关键知识点,包括获取工程绝对路径、File转Path、获取joget wflow文件夹、JS获取URL端口信息以及在Java项目中从resources读取license文件。此外,还展示了如何以流的方式显示图片,并通过后台接口直接访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发用到的知识

  • 获取工程绝对路径
String baseDir = System.getProperty("catalina.home");
  • 将File转换成Path
FileSystems.getDefault().getPath(file.getAbsolutePath());
  • 获取joget的wflow文件夹
SetupManager.getBaseDirectory()
  • js 获取 url 端口信息
1、window.location.href(设置或获取整个 URL 为字符串)

var test = window.location.href;
alert(test);
返回:http://i.cnblogs.com/EditPosts.aspx?opt=1

2、window.location.protocol(设置或获取 URL 的协议部分)

var test = window.location.protocol;
alert(test);
返回:http:

3、window.location.host(设置或获取 URL 的主机部分)

var test = window.location.host;
alert(test);
返回:i.cnblogs.com

4、window.location.port(设置或获取与 URL 关联的端口号码)

var test = window.location.port;
alert(test);
返回:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)

5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))
var test = window.location.pathname;
alert(test);
返回:/EditPosts.aspx

6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)

var test = window.location.search;
alert(test);
返回:?opt=1

PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。

7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)

var test = window.location.hash;
alert(test);
返回:空字符(因为url中没有)

引用自

java 项目获取resources 文件夹中的license文件
本插件用到了groupdoc的产品,需要license授权
但是代码中是流的形式获取的license,
所以将license 文件放在了resources资源文件夹下
在这里插入图片描述
java 代码如下:

InputStream resourceAsStream = ConvertUtils.class.getClassLoader().getResourceAsStream("GroupDocs.Viewer.lic");

以流的方式显示图片
img 便签的src属性,不仅可以是图片的路径, 也可以是图片的流
直接访问后台的接口就可以显示

        <img src="../pdfTest/imgTest">
    @RequestMapping("/imgTest")
    public void imgTest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        File file = new File("d:\\微信截图.png");
        FileInputStream inputStream = new FileInputStream(file);
        ServletOutputStream out = response.getOutputStream();
        response.setContentType("application/pdf");
        // 设置文件头:最后一个参数是设置下载文件名`
        response.setHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"ISO8859-1"));
        int b = 0;
        int sum = 0;
        byte[] buffer = new byte[1024];
        while ((b = inputStream.read(buffer)) != -1) {
            // 写到输出流(out)中
            out.write(buffer, 0, b);
            sum+=b;
        }
        out.close();
//        System.out.println(sum);
        inputStream.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值