| | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.SerializationFeature; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.dromara.common.core.exception.ServiceException; |
| | | import org.dromara.common.core.utils.DateUtils; |
| | | import org.dromara.common.oss.core.OssClient; |
| | | import org.dromara.common.oss.entity.SynchronousRequest; |
| | | import org.dromara.common.oss.entity.SynchronousRequest2; |
| | | import org.dromara.common.oss.entity.UploadResult; |
| | | import org.dromara.common.oss.entity.VideoRequest; |
| | | import org.dromara.common.oss.factory.OssFactory; |
| | | import org.dromara.system.domain.SysOss; |
| | | import org.dromara.system.domain.properties.Boundary; |
| | |
| | | import org.dromara.system.mapper.SysOssMapper; |
| | | import org.dromara.system.uitil.FtpApche; |
| | | import org.dromara.system.uitil.HttpUtils; |
| | | import org.dromara.system.uitil.PasswordUtil; |
| | | import org.jetbrains.annotations.NotNull; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.mock.web.MockMultipartFile; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Scheduled(cron = "0 0/1 * * * ?") |
| | | public void get() throws IOException { |
| | | System.out.println("同步上传......"); |
| | | log.info("同步上传"); |
| | | List<String> list = FtpApche.downloadList(ftpConfig); |
| | | |
| | | if(list.size() == 0){ |
| | | log.error("no files in ftp"); |
| | | System.out.println("ftp get 0 fileinfo"); |
| | | List<String> list = FtpApche.downloadList(this.ftpConfig); |
| | | if (list.size() == 0) |
| | | return; |
| | | } |
| | | System.out.println("ftp get all fileinfo:" + list.get(0)); |
| | | for (String str : list) { |
| | | String password = str.substring(0, 6); |
| | | String fileName = str.substring(6, str.length()); |
| | | InputStream input = FtpApche.downloadFileFromDailyDir(str); |
| | | System.out.println("file name is:" + fileName); |
| | | log.error("file name is:" + fileName); |
| | | InputStream input = FtpApche.downloadFileFromDailyDir(str, this.ftpConfig); |
| | | byte[] fileBytesByName = FtpApche.getFileBytesByName(input); |
| | | OssClient storage = OssFactory.instance(); |
| | | MockMultipartFile mockMultipartFile = new MockMultipartFile(fileName, fileName, fileName.substring(14, fileName.length()), input); |
| | | String contentType = fileName.length() >= 14 ? fileName.substring(14) : "application/octet-stream"; |
| | | MockMultipartFile mockMultipartFile = new MockMultipartFile(fileName, fileName, contentType, input); |
| | | UploadResult uploadResult = storage.uploadSuffix2(fileBytesByName, getPath(fileName), "multipart/form-data; charset=ISO-8859-1"); |
| | | FtpApche.deleteFile(str); |
| | | buildResultEntity(fileName, fileName.substring(14, fileName.length()), "minio", uploadResult, (MultipartFile)mockMultipartFile, password, fileBytesByName); |
| | | } |
| | | |
| | | } |
| | | |
| | | @NotNull |