123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.fdkankan.scene.service.impl;
- import cn.hutool.core.io.FileUtil;
- import cn.hutool.core.io.IoUtil;
- import cn.hutool.core.lang.UUID;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.fdkankan.common.util.FdfsUtil;
- import com.fdkankan.scene.entity.SceneFileMapping;
- import com.fdkankan.scene.httpclient.CustomHttpClient;
- import com.fdkankan.scene.service.FYunFileService;
- import com.fdkankan.scene.service.SceneFileMappingService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.io.*;
- import java.nio.charset.StandardCharsets;
- import java.util.Map;
- import java.util.Objects;
- @Service
- public class FYunFileServiceImpl implements FYunFileService {
- @Autowired
- private SceneFileMappingService sceneFileMappingService;
- @Resource
- private CustomHttpClient customHttpClient;
- @Resource
- private FdfsUtil fdfsUtil;
- @Override
- public String getFileContent(String key) throws IOException {
- SceneFileMapping sceneFileMapping = sceneFileMappingService.getByKey(key);
- String content = null;
- try (InputStream inputStream = customHttpClient.downloadFileToInputStream(sceneFileMapping.getUrl())){
- content = IoUtil.read(inputStream, StandardCharsets.UTF_8);
- }
- return content;
- }
- @Override
- public void uploadFile(String num, byte[] data, String key) {
- String suffix = "." + FileUtil.getSuffix(key);
- File tempFile = FileUtil.createTempFile(UUID.fastUUID().toString(), suffix, new File("/temp"), true);
- FileUtil.writeBytes(data, tempFile);
- Map<String, String> mapping = fdfsUtil.uploadFile(tempFile.getAbsolutePath());
- //添加记录
- SceneFileMapping sceneFileMapping = sceneFileMappingService.getByKey(key);
- if(Objects.isNull(sceneFileMapping)){
- sceneFileMapping = new SceneFileMapping();
- }
- sceneFileMapping.setNum(num);
- sceneFileMapping.setFileid(mapping.get("file_id"));
- sceneFileMapping.setUrl(mapping.get("http_url"));
- sceneFileMapping.setKey(key);
- sceneFileMappingService.saveOrUpdate(sceneFileMapping);
- }
- public static void main(String[] args) {
- String suffix = "." + FileUtil.getSuffix("/sxx/ttt/adf.json");
- File tempFile = FileUtil.createTempFile(UUID.fastUUID().toString(), suffix, new File("D:\\test2"), true);
- FileUtil.writeBytes("nihsd灌灌灌灌".getBytes(StandardCharsets.UTF_8), tempFile);
- }
- }
|