getUploadMode
1.0.0.0 이상
-
설명
업로드 방식을 반환한다.
-
형식
mode = component.getUploadMode();
-
반환
업로드 방식, 'ORAF', 'OROF', 'EXTS', 'AWSS3', 'NCPOS', 'AZRBS' 중 하나가 반환된다. 기본값은 'ORAF'이다.
setUploadURL
1.0.0.0 이상
-
설명
서버 측 업로드 주소를 설정합니다.
파일 업로드를 수행하려면 반드시 업로드 경로를 설정해주어야 한다.
DEXTUploadX5는 RFC1867 규약에 따라 multipart/form-data 로 인코딩된 데이터를 서버로 전송하는 역할까지만 담당한다.
서버 측 업로드 주소는 multipart/form-data 로 인코딩된 데이터를 받아 저장하는 서비스가 구현되어야 한다.
function onDX5Created(id) { var dx = dx5.get(id); // 업로드 처리 주소를 설정한다. dx.setUploadURL("http://domain/path/common-upload.do"); } -
형식
component.setUploadURL(url);
-
파라미터
이름 형식 설명 url String 파일 업로드를 처리할 서버 주소, 반드시 스키마(http, https)가 포함된 전체 경로이어야 합니다.
setUploadMode
1.0.0.0 이상
-
설명
업로드 방식을 설정한다.
DEXTUploadX5는 파일 업로드는 동작 방식으로 세 가지 모드를 지원한다.
- ORAF(기본): 업로드할 파일 모두를 하나의 요청에 담아 전송한다. 업로드가 완료되면 응답 데이터는 1개가 된다.
- OROF: 업로드할 파일의 개수만큼 요청이 이루어집니다. 업로드가 완료되면 파일의 개수만큼 응답 데이터가 생성된다.
- EXTS: OROF와 동일하나, 대용량 업로드로써, 개별 혹은 전체 파일의 크기가 2GB를 넘는 경우에 사용된다.
- AWSS3: Amazon S3로 파일을 업로드할 때 사용된다. 4.0.0.0부터 지원한다.
- NCPOS: NAVER CLOUD PLATFORM Object Storage로 파일을 업로드할 때 사용된다. 4.2.0.0부터 지원한다.
- AZRBS: Azure Blob Storage로 파일을 업로드할 때 사용된다. 4.3.0.0부터 지원한다.
function onDX5Created(id) { var dx = dx5.get(id); // OROF 업로드 방식을 사용하도록 한다. dx.getUploadMode("OROF"); } -
형식
component.setUploadMode(mode);
-
파라미터
이름 형식 설명 mode String 'ORAF', 'OROF', 'EXTS', 'AWSS3', 'NCPOS', 'AZRBS' 중 하나를 설정한다. 기본값은 'ORAF'이다.
getUploadStatus
1.0.0.0 이상
-
설명
현재 업로드 상태 정보를 갖는 객체를 반환한다.
파일이 업로드 중인 과정에 사용하면, 업로드 상태 정보를 알아낼 수 있다.
이 함수를 사용하여 반환된 객체는 시간에 따라 다른 값을 갖는 것이 아니라, 함수 호출 시점의 상태를 복사한 값만 갖는다.
업로드하는 과정의 변화를 계속 얻으려면 setTimeout과 같은 함수를 사용해야 한다.
function toggleUploadStatus(isBegin) { function uploadProgress() { var dx = dx5.get("dext5"), out = document.getElementById("upstatus-value"), status = dx.getUploadStatus(); out.innerHTML = "" + "name: " + status.currentName + "<br/>" + "speed: " + status.totalSpeed + "(sec)<br/>" + "count(completed/total): " + status.completeCount + "/" + status.totalCount + "<br/>" + "current rate: " + status.currentRate + " % <br/>" + "current size(sended/total): " + status.currentSendSize + "/" + status.currentSize + " (bytes)<br/>" + "current time(past/remained): " + status.currentTime + "/" + status.remainedCurrentTime + "<br/>" + "total rate: " + status.totalRate + " % <br/>" + "total size(sended/total): " + status.totalSendSize + "/" + status.totalSize + " (bytes)<br/>" + "total time(past/remained): " + status.totalTime + "/" + status.remainedTotalTime + "<br/>" + ""; if (window.isUploading === true) { setTimeout(uploadProgress, 1000); } } window.isUploading = isBegin; if (isBegin) uploadProgress(); }ORAF 방식으로 파일을 업로드할 경우, 개별 파일 단위로 상태 값을 구분하여 표시하지 못한다. 그러므로 completeCount 값은 업로드 완료시점에 totalCount와 동일한 값을 가지며, 업로드 중에는 0으로 유지가 된다. 또한 current와 total은 항상 같은 값을 갖게 되므로, currentSendSize, currentTime, currentRate 값은 무의미하다. 그러므로 ORAF에서는 totalRate, totalSendSize, totalSize, totalTime, remainedTotalTime만 사용하도록 해야 한다.
-
형식
status = component.getUploadStatus();
-
반환
업로드 전송 상태 값을 갖는 객체
다음은 객체가 갖는 속성에 대한 설명이다.
이름 형식 설명 completeCount Number 업로드가 완료된 파일의 개수 currentName String 업로드 중인 파일의 이름 currentSize Number 업로드 중인 파일의 크기 currentSendSize Number 업로드 중인 파일이 진행된 크기 currentRate Number 업로드 중인 파일의 진행률 currentTime Number, String 업로드 중인 파일이 업로드가 진행된 시간(msec) remainedCurrentTime Number, String 업로즈 중인 파일이 완료되기까지 남은 시간(msec) totalSize Number 업로드할 전체 크기 totalCount Number 업로드할 파일의 개수 totalSendSize Number 업로드가 진행된 전체 크기 totalRate Number 전체 업로드 진행률 totalSpeed Number 전체 업로드 속도(bytes/sec) totalTime Number, String 전체 업로드 진행 시간(msec) remainedTotalTime Number, String 전체 업로드가 남은 시간(msec)
getUploadURL
1.0.0.0 이상
-
설명
서버 측 업로드 처리 주소를 반환합니다.
파일 업로드를 수행하려면 반드시 업로드 경로를 설정해주어야 한다.
DEXTUploadX5는 RFC1867 규약에 따라 multipart/form-data로 인코딩된 데이터를 서버로 전송하는 역할까지만 담당한다.
서버 측 업로드 주소는 multipart/form-data로 인코딩된 데이터를 받아 저장하는 서비스가 구현되어야 한다.
function onDX5Created(id) { var dx = dx5.get(id); // 서버 측 업로드 처리 주소를 출력한다. console.log(dx.getUploadURL()); } -
형식
url = component.getUploadURL();
-
반환
서버 측 업로드 처리 주소
getUploadTimeInterval
3.10.0.0 이상
-
설명
파일 업로드 작업 사이의 시간 간격 값을 반환한다.
-
형식
interval = component.getUploadTimeInterval();
-
반환
밀리세컨드(1/1000) 단위의 시간 간격 값
setUploadTimeInterval
3.10.0.0 이상
-
설명
파일 업로드 작업 사이의 시간 간격 값을 설정한다.
파일 업로드 방식이 OROF, EXTS인 경우 업로드하려는 파일의 개수 및 청크 개수에 따라 다수의 업로드 작업이 발생하며, 각각 작업 마다 주어진 시간 값만큼 지연이 발생한다.
var dx = dx5.get("component-id"); dx.setUploadTimeInterval(1000); -
형식
component.setUploadTimeInterval(interval);
-
파라미터
이름 형식 설명 interval Number 밀리세컨드(1/1000) 단위 시간 값, 20ms 미만으로 설정할 수 없다.
pauseUploading
3.10.0.0 이상
-
설명
업로드 작업을 일시 정지한다.
함수를 사용하여 업로드 작업을 일시 정지할 수 있다. 업로드가 일시 정지된 상태에서는 resumeUploading 함수를 사용하여 업로드 작업을 재개할 수 있다.
<button type="button" onclick="pause('component-id');">Pause</button> <script> function pause(id) { dx5.get(id).pauseUploading(); } </script> -
형식
component.pauseUploading();
resumeUploading
3.10.0.0 이상
-
설명
정지된 업로드 작업을 재개한다.
pauseUploading 메소드를 사용하여 다운로드 작업을 일시 중지한 상태 또는 오류가 발생하여 일시 중지된 상태에서만 사용할 수 있다.
- ORAF 방식에서는 업로드 작업을 재개해도 처음부터 업로드가 다시 시작된다.
- OROF 방식에서는 업로드를 재개하면 중지된 파일부터 업로드가 다시 시작된다.
- EXTS 방식에서는 업로드를 재개하면 중지된 청크부터 업로드가 다시 시작된다.
- AWSS3 방식에서는 업로드를 재개하면 중지된 청크부터 업로드가 다시 시작된다.
<button type="button" onclick="resume('component-id');">Resume</button> <script> function resume(id) { dx5.get(id).resumeUploading(); } </script> -
형식
component.resumeUploading();
setAWSS3UploadConfig
4.0.0.0 이상
-
설명
Amazon S3로 파일을 업로드하기 위한 설정값을 정의한다.
dx.setUploadMode("AWSS3"); dx.setAWSS3UploadConfig({ type: "NON-SECRET", accessKeyId: "ABCD...1234", secretAccessKey: "ABCD...1234", region: "ap-northeast-2", bucket: "abc-bucket" }); -
형식
component.setAWSS3UploadConfig(config);
-
파라미터
이름 형식 설명 config Object config 파라미터 객체는 업로드를 위한 설정값들을 속성으로 가지고 있다.
속성 설명 type 브라우저에서 AWS SDK를 사용하여 직접 업로드하는 경우에는 'NON-SECRET'으로 설정하고, Presigned URL을 사용하여 업로드하는 경우에는 'SECRET'으로 설정하거나 생략하면 된다. region 리전(Region)을 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. bucket 버킷(Bucket) 이름을 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. accessKeyId 엑세스 키를 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. (중요 보안 항목) secretAccessKey 비밀 엑세스 키를 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. (중요 보안 항목) storageClass 스토리지 클래스('STANDARD', 'REDUCED_REDUNDANCY', 'STANDARD_IA', 'ONEZONE_IA', 'INTELLIGENT_TIERING', 'GLACIER', 'DEEP_ARCHIVE')를 설정한다. 기본값은 'STANDARD'이며, type 속성에 상관없이 설정가능하다. acl 업로드할 파일 객체의 퍼미션('private', 'public-read', 'public-read-write', 'authenticated-read', 'aws-exec-read', 'bucket-owner-read', 'bucket-owner-full-control')을 설정한다. 기본값은 'private'이며, S3의 버킷 권한 설정에 따라 acl 속성을 사용하지 못할 수도 있다. type 속성에 상관없이 설정가능하다. chunkSize 파일을 분할할 때 사용하는 청크 크기를 설정한다. 기본값은 10MB이며 5MB에서 5GB까지 설정할 수 있다. type 속성에 상관없이 설정가능하다. makeKey 수동으로 키(key)를 만들 때 사용하는 함수를 설정한다. 함수는 item 파라미터를 가지며, 문자열 키 값을 반환해야 한다.
dx.setAWSS3UploadConfig({ makeKey: item => { return item.name; } });initURL 업로드 과정을 초기화하는 기능을 담당하는 주소를 설정한다. type 속성이 'SECRET'이거나 생략된 경우만 유효하다. signedURL Presigned URL을 생성하는 기능을 담당하는 주소를 설정한다. type 속성이 'SECRET'이거나 생략된 경우만 유효하다. completeURL 업로드 과정을 완료하는 기능을 담당하는 주소를 설정한다. type 속성이 'SECRET'이거나 생략된 경우만 유효하다. sdkURL AWS SDK를 다운로드 받을 수 있는 주소를 설정한다. 기본값은 'https://sdk.amazonaws.com/js/aws-sdk-2.1037.0.min.js'이다.
setNCPOSUploadConfig
4.2.0.0 이상
-
설명
NAVER CLOUD PLATFORM Object Storage로 파일을 업로드하기 위한 설정값을 정의한다.
dx.setUploadMode("NCPOS"); dx.setNCPOSUploadConfig({ type: "NON-SECRET", accessKeyId: "ABCD...1234", secretAccessKey: "ABCD...1234", // kr, us, sg, jp, de region: "kr", bucket: "abc-bucket" }); -
형식
component.setNCPOSUploadConfig(config);
-
파라미터
이름 형식 설명 config Object config 파라미터 객체는 업로드를 위한 설정값들을 속성으로 가지고 있다.
속성 설명 type 브라우저에서 AWS SDK를 사용하여 직접 업로드하는 경우에는 'NON-SECRET'으로 설정하고, Presigned URL을 사용하여 업로드하는 경우에는 'SECRET'으로 설정하거나 생략하면 된다. region 리전(Region)을 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. bucket 버킷(Bucket) 이름을 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. accessKeyId 엑세스 키를 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. (중요 보안 항목) secretAccessKey 비밀 엑세스 키를 설정한다. type 속성이 'NON-SECRET'인 경우만 유효하다. (중요 보안 항목) acl 업로드할 파일 객체의 퍼미션('private', 'public-read', 'public-read-write', 'authenticated-read')을 설정한다. 기본값은 'private'이며, S3의 버킷 권한 설정에 따라 acl 속성을 사용하지 못할 수도 있다. type 속성에 상관없이 설정가능하다. chunkSize 파일을 분할할 때 사용하는 청크 크기를 설정한다. 기본값은 10MB이며 5MB에서 5GB까지 설정할 수 있다. type 속성에 상관없이 설정가능하다. makeKey 수동으로 키(key)를 만들 때 사용하는 함수를 설정한다. 함수는 item 파라미터를 가지며, 문자열 키 값을 반환해야 한다.
dx.setNCPOSUploadConfig({ makeKey: item => { return item.name; } });initURL 업로드 과정을 초기화하는 기능을 담당하는 주소를 설정한다. type 속성이 'SECRET'이거나 생략된 경우만 유효하다. signedURL Presigned URL을 생성하는 기능을 담당하는 주소를 설정한다. type 속성이 'SECRET'이거나 생략된 경우만 유효하다. completeURL 업로드 과정을 완료하는 기능을 담당하는 주소를 설정한다. type 속성이 'SECRET'이거나 생략된 경우만 유효하다. sdkURL AWS SDK를 다운로드 받을 수 있는 주소를 설정한다. 기본값은 'https://sdk.amazonaws.com/js/aws-sdk-2.1037.0.min.js'이다.
setAZRBSUploadConfig
4.3.0.0 이상
-
설명
Microsoft Azure Blob Storage로 파일을 업로드하기 위한 설정값들을 정의한다.
dx.setUploadMode("AZRBS"); dx.setAZRBSUploadConfig({ accountName: "photomanager", containerName: "photos", sasListURL: "https://example.com/get-list-sastoken.ashx", sasUploadURL: "https://example.com/get-upload-sastoken.ashx" }); -
형식
component.setAZRBSUploadConfig(config);
-
파라미터
이름 형식 설명 config Object config 파라미터 객체는 업로드를 위한 설정값들을 속성으로 가지고 있다.
속성 설명 accountName Azure Blob Storage 계정 이름을 설정한다. containerName Azure Blob Storage 컨테이너 이름을 설정한다. accessTier 'Hot, Cool, Cold, Archive' 중 선택해야 한다. chunkSize 파일을 분할할 때 사용하는 청크 크기를 설정한다. 기본값은 10MB이며 5MB에서 4000MB까지 설정할 수 있다. type 속성에 상관없이 설정가능하다. makeKey 수동으로 키(key = blob 이름)를 만들 때 사용하는 함수를 설정한다. 함수는 item 파라미터를 가지며, 문자열 키 값을 반환해야 한다.
dx.setAZRBSUploadConfig({ makeKey: item => { return item.name; } });sasListURL 커밋되지 않은 블롭의 블록 목록을 가져오기 위한 공유액세스 토큰을 가져오는 URL을 설정한다. sasUploadURL 블롭의 블록 업로드를 위한 공유액세스 토큰을 가져오는 URL을 설정한다.