当前位置: 首页 > 后端技术 > Java

使用Java对接永中云预览,实现文档在线预览

时间:2023-04-01 18:36:53 Java

永中云预览是基于永中DCS文档的在线预览能力,将源文档输出为HTML,方便查阅。先通过上传接口将文件上传到永中服务器,然后返回根据文件生成的文件ID和文件版本ID;然后根据获取到的文件版本ID,使用文件预览接口获取预览地址。首先要做的是成为开发人员并申请应用程序。在游族云服务平台首页(https://open.yozocloud.cn)点击“申请加入”填写信息,然后提交。然后点击页面右上角的“管理中心”,点击“申请添加新应用”按钮申请一个应用,然后得到下图所示的appId和appKey。然后阅读云预览开发文档。官网的开发文档包含了预览时要用到的所有接口,还给出了返回示例供参考,还有使用过程中遇到的常见问题总结。下面是具体的接入步骤,总的来说很简单。第一步:导入jar包生成签名。官网提供了多种流行编程语言的SDK。下载对应的SDK和demo,根据自己的开发语言生成签名。这里使用的是JAVASDK。SDK下载地址:https://cms.yozocloud.cn/info...DEMO下载地址:https://cms.yozocloud.cn/info...StringgetSign(Mapmap)throws异常{map.put("appId",newString[]{APPID});AppAuthenticatorauthenticator=newUaaAppAuthenticator(UaaConstant.SIGN,null,UaaConstant.APPID);Stringsign=authenticator.generateSign(APPKEY,map);系统。out.println("符号="+符号);returnsign;}第2步:上传文件。这里我使用RestTemplate来发送Post请求。需要注意的是上传文件时文件类型必须是multipartFile,否则会报错:message:serverunknownerror^_^。Mapparams=newHashMap<>();Stringsign=getSign(params);Stringurl="http://dmc.yozocloud.cn/api/file/upload?appId={0}&sign={1}";url=url.replace("{0}",APPID).replace("{1}",sign);System.out.println("url:"+url);//上传FileStringfilePath="C:\\Users\\user3248\\Desktop\\haha.txt";//设置请求头HttpHeadersheaders=newHttpHeaders();headers.setContentType(MediaType.parseMediaType("multipart/form-data"));//文件类型为multipartFile类型//设置请求体,注意LinkedMultiValueMapFileSystemResourcefile=newFileSystemResource(filePath);MultiValueMapform=newLinkedMultiValueMap<>();form.add("文件",文件);RestTemplaterestTemplate=newRestTemplate();restTemplate.getMessageConverters().set(1,newStringHttpMessageConverter(StandardCharsets.UTF_8));ResponseEntityresponse=restTemplate.exchange(url,HttpMethod.POST,新的HttpEntityty<>(form,headers),String.class);//防止返回信息乱码System.out.println("返回信息为:"+response.getBody());第三步:获取每次调用的预览地址在界面中,使用了哪些参数,这些参数用于生成标志,multipartFile除外,没有使用的参数不要传null或空字符串。JSONObjectdata=JSONObject.parseObject(response.getBody()).getJSONObject("data");StringfileVersionId=data.getString("fileVersionId");//获取返回的fileVersionIdMapparamMap=newHashMap<>();paramMap.put("fileVersionId",newString[]{fileVersionId});Strings=getSign(paramMap);//生成二次签名System.out.println("拼接地址:"+VIEWFILE+"?appId="+APPID+"&fileVersionId="+fileVersionId+"&sign="+s);//输出拼接地址最后运行程序得到预览地址,点击直接预览。下面是源文件和使用云预览预览的文件对比:(源文件)(云预览)总结:云预览在线预览文件时不会泄露文件的下载地址,以及文件的有效期预览链接可以自己通过参数(过期时间)设置。开发文档中有很多参数可以设置,比如水印内容、是否防止复制、是否下载源文件等等。调用云预览一般分为三个步骤:获取签名、上传文件、获取地址,简单的代码直接搞定,预览效果不会出现布局乱、内容跑版本等问题,还是很方便,快捷,高效的。