/**
* 在线预览文件
* @param 姜
* @return文档地址 https://blog.csdn.net/csdn_cjgu/article/details/69389474
* 此方法不支持ip路径必须为域名
*/
@RequestMapping(value = "/showview")
@ResponseBody
public Map<String,Object> showview(String fileurl) {
// 返回值
Map<String,Object> map = new HashMap<String,Object>();
try {
String files = "png,jpg,jpeg,gif,pdf,doc,docx,docm,dotm,dotx,xlsx,xlsb,xls,xlsm,pptx,ppsx,ppt,pps,pptm,potm,ppam,potx,ppsm";
String url = baseUrl+fileurl;//获取文件地址
if (!"".equals(url) && url != null) {
//获取文件后缀
String postfix = url.substring(url.lastIndexOf(".") + 1);
//判断是否支持预览
if(files.contains(postfix)) {
//获取配置文件中图片路径
//拼接地址组成http://img.mostsd.com/uploadfiles/bizDownload/2019/01/15471089090894167.doc
String openofficeurl = "http://view.officeapps.live.com/op/view.aspx?src=";
String showviewUrl = "";
if("pdf".equals(postfix) || "png".equals(postfix) || "jpg".equals(postfix) || "jpeg".equals(postfix) || "gif".equals(postfix)) {
showviewUrl = url;
}else {
showviewUrl = openofficeurl+ URLEncoder.encode(url, "utf-8");
}
map.put("result", "000");
map.put("showviewUrl", showviewUrl);
}else {
map.put("result", "001");
map.put("message", "该附件格式不支持在线预览!");
}
} else {
map.put("result", "001");
map.put("message", "当前数据没有附件");
}
} catch (Exception e) { // result的值:000操作成功,001操作失败,002操作失败、程序出现异常
map.put("result", "002");
map.put("message", "程序异常!");
e.printStackTrace();
}
return map;
}