springboot本地上传在线预览(使用kkfileview)
网上有很多如何使用kkfileview的相关文章,所以在这里就不在说明如何下载安装使用(点击跳转相关博客西凉的悲伤大佬)
在这里我主要是针对于和我一样水平还很低的做一个使用kkfileview前所需要做的,使用kkfileview预览本地文件时是需要我们提供一个预览URL的,可能有些人和我一样,不知道如何生成本地自定义文件夹下存储的文件生成一个url
1.首先我们创建一个类,然后去继承WebMvcConfigurer,重写他的addResourceHandlers的方法(这样做是因为我们需要将后续的访问连接从默认指向我们自己自定义的存储文件)
// An highlighted block
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Value("${file.staticPatternPath}")
private String staticPatternPath;
@Value("${file.uploadFolder}")
private String uploadFolder;
//SPRINGBOOT中springmvc让程序开发者去配置文件上传额外静态资源服务器
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(staticPatternPath).addResourceLocations("file:"+uploadFolder);
}
}
这里是我们的配置文件,这么做只是为了后面打包后可以动态的调整我们的配置(配置文件就是带绿叶的在(rescources文件下的appliction.XX))
// An highlighted block
file.staticPatternPath=/upload_look/**
file.uploadFolder=D://yyyy//
file.Head=http://localhost:9000/upload_look
本地上传的话,我也再阐述了,大家可自行的去网上查找文章,那么我们接着就是开始如何的创建我们本地预览的url
本地的预览url----》刚刚配置的file.Head+file.uploadFolder+自己的文件名.xxx
也就是自己服务器端口加上重写的addResourceHandler()的内容+文件路径+文件名(文件名记得带上后缀);这样就可生成一个可以本地预览的url了,
var url='http://127.0.0.1:9909/upload_look/'+postget.uploadtime+"/"+postget.packagename+"/"+postget.filepath;
但是word这些文档是不能够直接访问的,点击了会变成下载,所以就需要用到kkfileview的技术,这个技术非常的简单,不需要集成就能用;不过需要转换一下,大家去了解一下kkfileview怎么使用就知道怎么调用了
var url='http://127.0.0.1:9909/upload_look/'+postget.uploadtime+"/"+postget.packagename+"/"+postget.filepath;
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));
希望能够帮到大家