1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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;
- @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.getOne(new LambdaQueryWrapper<SceneFileMapping>().eq(SceneFileMapping::getKey, 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 = new SceneFileMapping();
- sceneFileMapping.setNum(num);
- sceneFileMapping.setFileid(mapping.get("file_id"));
- sceneFileMapping.setUrl(mapping.get("http_url"));
- sceneFileMapping.setKey(key);
- sceneFileMappingService.save(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);
- }
- }
|