| | |
| | | import java.io.FileNotFoundException; |
| | | import java.io.InputStream; |
| | | import java.net.URL; |
| | | import java.nio.file.Path; |
| | | import java.util.Date; |
| | | import java.nio.file.StandardCopyOption; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Paths; |
| | | |
| | | /** |
| | | * 阿里云OSS服务类 |
| | |
| | | } |
| | | throw new CoolException("500-上传失败"); |
| | | } |
| | | public String upload(InputStream inputStream, String suffix,String contentType){ |
| | | if(suffix.trim().equals("file")){ |
| | | suffix="jpg"; |
| | | } |
| | | OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret); |
| | | String name = ""; |
| | | try { |
| | | if (!ossClient.doesBucketExist(bucket)) { |
| | | ossClient.createBucket(bucket); |
| | | log.info("您的Bucket不存在,创建Bucket:{}",bucket); |
| | | } |
| | | name = String.valueOf(snowflakeIdWorker.nextId()).concat(".").concat(suffix); |
| | | // 添加 ContentType |
| | | ObjectMetadata objectMetadata = new ObjectMetadata(); |
| | | // objectMetadata.setContentType("image/jpg"); |
| | | objectMetadata.setContentType(contentType); |
| | | ossClient.putObject(bucket, name, inputStream, objectMetadata); |
| | | Date expiration = new Date(new Date().getTime() + 3600L * 1000 * 24 * 365 * 100); |
| | | URL url = ossClient.generatePresignedUrl(bucket, name, expiration); |
| | | log.info("OSS文件上传成功: {}", name); |
| | | // return String.valueOf(url); |
| | | return "http://zhongyang-ftpserver.oss-cn-hangzhou.aliyuncs.com/"+name; |
| | | } catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } finally { |
| | | ossClient.shutdown(); |
| | | } |
| | | throw new CoolException("500-上传失败"); |
| | | } |
| | | |
| | | public String upload(InputStream inputStream) { |
| | | return upload(inputStream, ".jpg"); |
| | |
| | | /** |
| | | * 下载OSS文件 |
| | | */ |
| | | public void download(String name) { |
| | | // public void download(String name) { |
| | | // OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret); |
| | | // try { |
| | | // OSSObject ossObject = ossClient.getObject(bucket, name); |
| | | // InputStream inputStream = ossObject.getObjectContent(); |
| | | // // do transfer |
| | | // inputStream.close(); |
| | | // log.info("OSS文件下载成功: {}", name); |
| | | // } catch (Exception e){ |
| | | // e.printStackTrace(); |
| | | // } finally { |
| | | // ossClient.shutdown(); |
| | | // } |
| | | // } |
| | | |
| | | public String download(String name) { |
| | | OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret); |
| | | try { |
| | | OSSObject ossObject = ossClient.getObject(bucket, name); |
| | | InputStream inputStream = ossObject.getObjectContent(); |
| | | // do transfer |
| | | |
| | | // 获取默认下载目录 |
| | | String defaultDownloadDir = System.getProperty("user.home") + "/Downloads"; |
| | | |
| | | // 创建文件保存路径 |
| | | Path filePath = Paths.get(defaultDownloadDir, name); |
| | | |
| | | // 将输入流复制到文件 |
| | | Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING); |
| | | |
| | | // 关闭输入流 |
| | | inputStream.close(); |
| | | log.info("OSS文件下载成功: {}", name); |
| | | } catch (Exception e){ |
| | | |
| | | log.info("OSS文件下载成功,保存路径: {}", filePath); |
| | | return ""+filePath; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | ossClient.shutdown(); |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | /** |