| | |
| | | package com.stylefeng.guns.modular.code.controller; |
| | | |
| | | import com.aliyun.oss.OSSClient; |
| | | import com.aliyun.oss.model.ObjectMetadata; |
| | | import com.aliyun.oss.model.PutObjectRequest; |
| | | import com.aliyun.oss.model.PutObjectResult; |
| | | |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import java.io.IOException; |
| | | |
| | | import java.io.*; |
| | | |
| | | @CrossOrigin |
| | | @RestController |
| | | @RequestMapping("/base/oss") |
| | | public class OssController { |
| | | |
| | | private static final String endpoint = "oss-cn-hongkong.aliyuncs.com"; |
| | | private static final String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ"; |
| | | private static final String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp"; |
| | | private static final String bucketName = "bizuphk"; |
| | | private static final String endpoint = "obs.cn-north-4.myhuaweicloud.com"; |
| | | private static final String accessKeyId = "DRJFJRVQ9KVLQUSJUROI"; |
| | | private static final String accessKeySecret = "3zpPkULh0a8CTTYjKL4f7szQZECkvVol4SwNab0f"; |
| | | private static final String bucketName = "jkjianshen"; |
| | | |
| | | @PostMapping("/upload") |
| | | @ApiOperation(value = "文件上传",tags = "文件上传") |
| | | public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) throws IOException { |
| | | // 创建 OSSClient 实例 |
| | | OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); |
| | | |
| | | |
| | | // 创建 PutObjectRequest 对象 |
| | | PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, file.getOriginalFilename(), file.getInputStream()); |
| | | |
| | | ObjectMetadata metadata = new ObjectMetadata(); |
| | | // 取消文件缓存,文件每次都会从OSS服务器获取 |
| | | metadata.setHeader("Cache-Control", "no-cache"); |
| | | metadata.setHeader("Expires", "0"); |
| | | |
| | | |
| | | // 上传文件 |
| | | PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest); |
| | | |
| | | // 关闭 OSSClient 实例 |
| | | ossClient.shutdown(); |
| | | |
| | | String fileUrl = "https://" + bucketName + "." + endpoint + "/" + file.getOriginalFilename(); |
| | | return ResponseEntity.ok(fileUrl); |
| | | public String upload(@RequestParam("file") MultipartFile file) throws IOException { |
| | | String s = ObsUploadUtil.obsUpload(file); |
| | | return s; |
| | | } |
| | | @PostMapping("/uploadVideo") |
| | | @ApiOperation(value = "视频上传",tags = "文件上传") |
| | | public String uploadVideo(@RequestParam("file") MultipartFile file) throws Exception { |
| | | // 获取文件名 |
| | | String fileName = file.getOriginalFilename(); |
| | | // 构建目标文件路径 |
| | | String filePath = "/usr/local/temp" + fileName; |
| | | // String filePath = "C:/temp/" + fileName; |
| | | // 创建目标文件对象 |
| | | File targetFile = new File(filePath); |
| | | // 将 MultipartFile 内容写入目标文件 |
| | | try (FileOutputStream fos = new FileOutputStream(targetFile)) { |
| | | fos.write(file.getBytes()); |
| | | } |
| | | String s = UploadVideoUtil.endUpload(targetFile.toString(), UUIDUtil.getRandomCode(5)+fileName); |
| | | // 创建要删除的文件对象 |
| | | File fileToDelete = new File(targetFile.toString()); |
| | | // 检查文件是否存在,并删除文件 |
| | | if (fileToDelete.exists()) { |
| | | fileToDelete.delete(); |
| | | } |
| | | return s; |
| | | } |
| | | |
| | | // @PostMapping("/upload") |
| | | // @ApiOperation(value = "文件上传",tags = "文件上传") |
| | | // public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) throws IOException { |
| | | // // 创建 OSSClient 实例 |
| | | // OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); |
| | | // |
| | | // |
| | | // // 创建 PutObjectRequest 对象 |
| | | // PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, file.getOriginalFilename(), file.getInputStream()); |
| | | // |
| | | // ObjectMetadata metadata = new ObjectMetadata(); |
| | | // // 取消文件缓存,文件每次都会从OSS服务器获取 |
| | | // metadata.setHeader("Cache-Control", "no-cache"); |
| | | // metadata.setHeader("Expires", "0"); |
| | | // |
| | | // |
| | | // // 上传文件 |
| | | // PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest); |
| | | // |
| | | // // 关闭 OSSClient 实例 |
| | | // ossClient.shutdown(); |
| | | // |
| | | // String fileUrl = "https://" + bucketName + "." + endpoint + "/" + file.getOriginalFilename(); |
| | | // return ResponseEntity.ok(fileUrl); |
| | | // } |
| | | |
| | | |
| | | } |