Skip to content

Commit c16116c

Browse files
gitchenjhklboke
authored andcommitted
优化:视频文件预览支持FTP
1 parent 1a4748b commit c16116c

2 files changed

Lines changed: 30 additions & 3 deletions

File tree

jodconverter-web/src/main/java/cn/keking/service/impl/MediaFilePreviewImpl.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package cn.keking.service.impl;
22

33
import cn.keking.model.FileAttribute;
4+
import cn.keking.model.ReturnResponse;
45
import cn.keking.service.FilePreview;
6+
import cn.keking.utils.DownloadUtils;
7+
import cn.keking.utils.FileUtils;
8+
import cn.keking.web.filter.BaseUrlFilter;
59
import org.springframework.stereotype.Service;
610
import org.springframework.ui.Model;
711
/**
@@ -13,8 +17,31 @@
1317
@Service
1418
public class MediaFilePreviewImpl implements FilePreview {
1519

20+
private final DownloadUtils downloadUtils;
21+
22+
private final FileUtils fileUtils;
23+
24+
public MediaFilePreviewImpl(DownloadUtils downloadUtils,
25+
FileUtils fileUtils) {
26+
this.downloadUtils = downloadUtils;
27+
this.fileUtils = fileUtils;
28+
}
29+
1630
@Override
1731
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
32+
// 不是http开头,浏览器不能直接访问,需下载到本地
33+
if (url != null && !url.toLowerCase().startsWith("http")) {
34+
ReturnResponse<String> response = downloadUtils.downLoad(fileAttribute, fileAttribute.getName());
35+
if (0 != response.getCode()) {
36+
model.addAttribute("fileType", fileAttribute.getSuffix());
37+
model.addAttribute("msg", response.getMsg());
38+
return "fileNotSupported";
39+
} else {
40+
model.addAttribute("mediaUrl", BaseUrlFilter.getBaseUrl() + fileUtils.getRelativePath(response.getContent()));
41+
}
42+
} else {
43+
model.addAttribute("mediaUrl", url);
44+
}
1845
model.addAttribute("mediaUrl", url);
1946
String suffix=fileAttribute.getSuffix();
2047
if ("flv".equalsIgnoreCase(suffix)) {

jodconverter-web/src/main/java/cn/keking/utils/FileUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
@Component
2525
public class FileUtils {
2626

27-
public static final String DEFAULT_CONVERTER_CHARSET = System.getProperty("sun.jnu.encoding");
27+
private static final String DEFAULT_CONVERTER_CHARSET = System.getProperty("sun.jnu.encoding");
28+
29+
private final String fileDir = ConfigConstants.getFileDir();
2830

2931
private final CacheService cacheService;
3032

3133
public FileUtils(CacheService cacheService) {
3234
this.cacheService = cacheService;
3335
}
3436

35-
String fileDir = ConfigConstants.getFileDir();
36-
3737
/**
3838
* @return 已转换过的文件集合(缓存)
3939
*/

0 commit comments

Comments
 (0)