NAVER CLOUD PLATFORM Object Storage 파일 업로드

Home > NAVER CLOUD PLATFORM Object Storage > 예제 01

설명

NAVER CLOUD PLATFORM Object Storage로 파일을 업로드하는 예제이다. Object Storage로 파일을 업로드하려면, '리전/버킷/엑세스키/비밀엑세스키' 정보를 미리 알고 있어야 한다. 다음은 해당 정보를 설정하는 코드를 보여준다.

// NCPOS 방식으로 설정한다.			
dx.setUploadMode("NCPOS");
// 설정 객체의 type 속성을 "NON-SECRET"으로 설정한 후, 나머지 값들을 설정한다.
dx.setNCPOSUploadConfig({
    type: "NON-SECRET",
	accessKeyId: "ABCD...1234",
	secretAccessKey: "ABCD...1234",
	region: "",
	bucket: "abc-bucket"
});

예제는 파일 이름을 키로 사용하고 있다. 키를 수동으로 설정하고 싶다면 설정 객체의 makeKey 속성에 키를 생성하는 함수를 설정하면 된다.

dx.setNCPOSUploadConfig({
    ...
	// 키: 컴포넌트이름/파일이름 
    makeKey: item => `${item.controlId}/${item.name}`
});

Object Storage의 버킷도 업로드를 위한 설정을 해주어야 한다. 서로 다른 출처끼리 통신을 하기 위해서 CORS 설정이 필요하다. DEXTUploadX5는 멀티파트 업로드를 방식을 사용하여 버킷으로 업로드하기 때문에 PUT 요청 메소드 및 ETag 응답헤더를 반드시 허용해야 한다.

# NAVER CLOUD PLATFORM Object Storage CORS configuration
{
	"CORSRules": [
	    {
	        "AllowedHeaders": ["*"],
	        "AllowedMethods": ["HEAD", "GET", "PUT", "POST"],
	        "AllowedOrigins": ["*"],
	        "ExposeHeaders": ["ETag", "Accept-Ranges"],
	        "MaxAgeSeconds": 3000	        
	    }
	]
}

예제

테스트하기 위해서는 스크립트에서 ACCESS_KEY, SECRET_KEY, REGION, BUCKET_NAME을 설정해야 한다.

업로드 결과