| | |
| | | @PostMapping("/base/files/upload") |
| | | @ApiOperation(value = "文件上传", tags = {"文件上传"}) |
| | | public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException { |
| | | // 创建 OSSClient 实例 |
| | | // 获取原始文件名 |
| | | String originalFilename = file.getOriginalFilename(); |
| | | // 提取文件后缀 |
| | | if (originalFilename != null && originalFilename.contains(".")) { |
| | | System.err.println(originalFilename.substring(originalFilename.lastIndexOf("."))); |
| | | } |
| | | |
| | | // 创建 OSSClient 实例 |
| | | OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); |
| | | long l = System.currentTimeMillis(); |
| | | // 创建 PutObjectRequest 对象 |
| | | PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, String.valueOf(l), file.getInputStream()); |
| | | PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, String.valueOf(l)+"."+originalFilename.substring(originalFilename.lastIndexOf(".") + 1), file.getInputStream()); |
| | | ObjectMetadata metadata = new ObjectMetadata(); |
| | | // 取消文件缓存,文件每次都会从OSS服务器获取 |
| | | metadata.setHeader("Cache-Control", "no-cache"); |
| | |
| | | PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest); |
| | | // 关闭 OSSClient 实例 |
| | | ossClient.shutdown(); |
| | | String fileUrl = "https://" + bucketName + "." + endpoint + "/" + String.valueOf(l); |
| | | String fileUrl = "https://" + bucketName + "." + endpoint + "/" + String.valueOf(l)+"."+originalFilename.substring(originalFilename.lastIndexOf(".")); |
| | | return fileUrl; |
| | | } |
| | | |