springboot文件在线预览 demo
时间: 2023-07-18 14:42:04 浏览: 66
这里提供一个使用FlexPaper实现Spring Boot文件在线预览的demo示例。
1. 首先,在pom.xml文件中添加FlexPaper的依赖:
```
<dependency>
<groupId>com.flexpaper</groupId>
<artifactId>flexpaper</artifactId>
<version>2.3.6</version>
</dependency>
```
2. 在Spring Boot的配置文件application.properties中添加FlexPaper的配置:
```
flexpaper.viewerpath=/flexpaper
flexpaper.swfpath=/flexpaper/Flash
flexpaper.fonts=/flexpaper/fonts
flexpaper.cacheDirectory=/tmp/flexpaper
```
其中,`flexpaper.viewerpath`表示FlexPaper的根路径,`flexpaper.swfpath`表示FlexPaper的SWF文件路径,`flexpaper.fonts`表示FlexPaper的字体路径,`flexpaper.cacheDirectory`表示FlexPaper的缓存目录。
3. 在Spring Boot的控制器中添加文件在线预览的方法:
```java
@GetMapping("/preview")
public ModelAndView preview(@RequestParam("file") String file) {
ModelAndView modelAndView = new ModelAndView("preview");
String filePath = "file://" + new File(file).getAbsolutePath();
modelAndView.addObject("filePath", filePath);
return modelAndView;
}
```
其中,`file`参数表示要预览的文件路径,这里使用`ModelAndView`来返回视图,视图名为`preview`。
4. 在Spring Boot的视图中添加FlexPaper的HTML代码:
```html
<div id="documentViewer"></div>
<script type="text/javascript">
$(document).ready(function () {
$('#documentViewer').FlexPaperViewer({
config: {
SwfFile: '${flexpaper.viewerpath}/${flexpaper.swfpath}/FlexPaperViewer.swf',
Scale: 0.6,
ZoomTransition: 'easeOut',
ZoomTime: 0.5,
ZoomInterval: 0.2,
FitPageOnLoad: true,
FitWidthOnLoad: false,
FullScreenAsMaxWindow: false,
ProgressiveLoading: false,
MinZoomSize: 0.2,
MaxZoomSize: 5,
SearchMatchAll: false,
initViewMode: 'Portrait',
RenderingOrder: 'flashhtml',
StartAtPage: '',
ViewModeToolsVisible: true,
ZoomToolsVisible: true,
NavToolsVisible: true,
CursorToolsVisible: true,
SearchToolsVisible: true,
WMode: 'window',
localeChain: 'en_US'
}
});
});
</script>
<script type="text/javascript">
var swfobject = null;
</script>
<script type="text/javascript" src="${flexpaper.viewerpath}/${flexpaper.swfpath}/js/FlexPaperViewer.js"></script>
```
其中,`${flexpaper.viewerpath}`表示FlexPaper的根路径,`${flexpaper.swfpath}`表示FlexPaper的SWF文件路径。
5. 最后,在Spring Boot的静态资源目录中添加FlexPaper的文件。将FlexPaper的`FlexPaperViewer.swf`文件和`js`目录复制到静态资源目录下。
这样,就可以实现Spring Boot文件在线预览的功能了。