SpringBoot 통합 아 리 클 라 우 드 OSS 대상 저장 서비스 구현 파일 업로드
6875 단어 SpringBoot아 리 운OSS파일 업로드
1.먼저 로그 인 합 니 다아 리 클 라 우 드 OSS 대상 저장 콘 솔Bucket 을 저장 공간 으로 만 듭 니 다.
2.Access Keyan 을 만 드 는 것 은 요구 에 따라 진행 합 니 다.이곳 의 방법 과 절 차 는 제 가 보 여주 지 않 겠 습 니 다.당신들 은 알 리 클 라 우 드 문 서 를 스스로 조회 할 수 있 습 니 다.이 획득 치 자체 가 어렵 지 않 습 니 다.
포인트:AccessKey ID,AccessKey Secret,그리고 방금 만 든 Buacket 이름 BucketName 을 기록 하 세 요.
2.설정:
pom 에 oss 가 사용 할 의존 도 를 도입 합 니 다.
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
응용 프로그램.yml 에 프로필 추가
#
server:
port: 8080
aliyun:
oss:
#yourEndpoint Bucket Endpoint, Bucket 。
endpoint: oss-cn-chengdu.aliyuncs.com # ,Endpoint https://oss-cn-chengdu.aliyuncs.com
# AccessKey API , 。 RAM API , RAM RAM
accessKeyId: ********** # AccessKey AccessKey ID
accessKeySecret: ********** # AccessKey AccessKey Secret
bucketName: ********** # OSS
3.상세 코드:첫 번 째 단계:서비스 패 키 지 를 만 들 고 AliyunOss Service.java 를 새로 만 듭 니 다.
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
@Service
public interface AliyunOssService {
Map<String, Object> upload(MultipartFile file, String fileName);
}
두 번 째 단계:service 패키지 에 impl 패 키 지 를 만 들 고 AliyunOss ServiceImpl.자바 를 새로 만 듭 니 다.
import com.system.demo.service.AliyunOssService;
import com.system.demo.util.FileUploadUtil;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
@Service("aliyunOssService")
public class AliyunOssServiceImpl implements AliyunOssService {
@Resource
private FileUploadUtil fileUploadUtil;
@Override
public Map<String, Object> upload(MultipartFile file, String fileName){
// ( )
String path = "a"; // a
// ,
fileName = path + "/" +fileName;
Map<String, Object> map =new HashMap<>();
map.put("code", 200);
map.put("msg", " ");
map.put("data", this.fileUploadUtil.upload(file, fileName));
return map;
}
}
세 번 째 단계:util 패 키 지 를 만 들 고 FileUploadUtil.java 를 새로 만 듭 니 다.
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.ObjectMetadata;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
@Component
public class FileUploadUtil {
@Value("${aliyun.oss.endpoint}")
private String endpoint;
@Value("${aliyun.oss.accessKeyId}")
private String accessKeyId;
@Value("${aliyun.oss.accessKeySecret}")
private String accessKeySecret;
@Value("${aliyun.oss.bucketName}")
private String bucketName;
public String upload(MultipartFile file, String fileName){
//
try {
//
InputStream inputStream = file.getInputStream();
//
ObjectMetadata meta = new ObjectMetadata();
meta.setContentType("image/jpg");
// OSSClient
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
/*
oss oss----Bucket
bucket
*/
ossClient.putObject(bucketName, fileName, inputStream, meta);
// 。 , ObjectName 。 , object 。
//ossClient.deleteObject(bucketName, "a/");
// OSSClient。
ossClient.shutdown();
//
String url = "https://" + bucketName + "." + endpoint + "/"+ fileName;
return url;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
네 번 째 단계:인 터 페 이 스 를 정의 하여 controller 패 키 지 를 만 들 고 FileUpload.java 를 새로 만 듭 니 다.
import com.system.demo.service.impl.AliyunOssServiceImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@RequestMapping("oss")
public class FileUpload {
@Resource
private AliyunOssServiceImpl aliyunOssServiceImpl;
@RequestMapping(value = "fileoss", method = RequestMethod.POST)
public Map<String, Object> uploadOssFile(MultipartFile file, String fileName){
return this.aliyunOssServiceImpl.upload(file, fileName);
}
}
4.테스트:먼저 시작 클래스 를 실행 하고 Postman 에서 테스트 합 니 다.
요청 방식 선택:POST
요청 경로:localhost:8080/os/fileoss
Body-->form-data 선택
-첫 번 째 열 데이터:KEY 는 file 이 고 형식 을 File 로 선택 하고 VALUE 를 업로드 하고 자 하 는 파일 에 추가 합 니 다.
-두 번 째 열 데이터:KEY 는 fileName 이 고,형식 은 Text 이 며,VALUE 파일 이름 을 추가 합 니 다
다음 그림:
추가 가 완료 되면 send 를 누 르 고 요청 을 하 며 데 이 터 를 되 돌려 주 기 를 기다 리 고 있 습 니 다.되 돌아 오 는 JSON 형식의 data 에 대응 하 는 주 소 는 이 파일 의 미리 보기 주소 입 니 다.
또한,당신 은 당신 의 OSS 에서 당신 의 파일 을 볼 수 있 습 니 다.
이상 은 SpringBoot 통합 아 리 클 라 우 드 OSS 대상 저장 실현 파일 업로드 에 대한 상세 한 내용 입 니 다.SpringBoot 통합 아 리 클 라 우 드 OSS 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.