FYunFileServiceImpl.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.fdkankan.scene.service.impl;
  2. import cn.hutool.core.io.FileUtil;
  3. import cn.hutool.core.io.IoUtil;
  4. import cn.hutool.core.lang.UUID;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.fdkankan.common.util.FdfsUtil;
  7. import com.fdkankan.scene.entity.SceneFileMapping;
  8. import com.fdkankan.scene.httpclient.CustomHttpClient;
  9. import com.fdkankan.scene.service.FYunFileService;
  10. import com.fdkankan.scene.service.SceneFileMappingService;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import javax.annotation.Resource;
  14. import java.io.*;
  15. import java.nio.charset.StandardCharsets;
  16. import java.util.Map;
  17. @Service
  18. public class FYunFileServiceImpl implements FYunFileService {
  19. @Autowired
  20. private SceneFileMappingService sceneFileMappingService;
  21. @Resource
  22. private CustomHttpClient customHttpClient;
  23. @Resource
  24. private FdfsUtil fdfsUtil;
  25. @Override
  26. public String getFileContent(String key) throws IOException {
  27. SceneFileMapping sceneFileMapping = sceneFileMappingService.getOne(new LambdaQueryWrapper<SceneFileMapping>().eq(SceneFileMapping::getKey, key));
  28. String content = null;
  29. try (InputStream inputStream = customHttpClient.downloadFileToInputStream(sceneFileMapping.getUrl())){
  30. content = IoUtil.read(inputStream, StandardCharsets.UTF_8);
  31. }
  32. return content;
  33. }
  34. @Override
  35. public void uploadFile(String num, byte[] data, String key) {
  36. String suffix = "." + FileUtil.getSuffix(key);
  37. File tempFile = FileUtil.createTempFile(UUID.fastUUID().toString(), suffix, new File("/temp"), true);
  38. FileUtil.writeBytes(data, tempFile);
  39. Map<String, String> mapping = fdfsUtil.uploadFile(tempFile.getAbsolutePath());
  40. //添加记录
  41. SceneFileMapping sceneFileMapping = new SceneFileMapping();
  42. sceneFileMapping.setNum(num);
  43. sceneFileMapping.setFileid(mapping.get("file_id"));
  44. sceneFileMapping.setUrl(mapping.get("http_url"));
  45. sceneFileMapping.setKey(key);
  46. sceneFileMappingService.save(sceneFileMapping);
  47. }
  48. public static void main(String[] args) {
  49. String suffix = "." + FileUtil.getSuffix("/sxx/ttt/adf.json");
  50. File tempFile = FileUtil.createTempFile(UUID.fastUUID().toString(), suffix, new File("D:\\test2"), true);
  51. FileUtil.writeBytes("nihsd灌灌灌灌".getBytes(StandardCharsets.UTF_8), tempFile);
  52. }
  53. }