2014-11-10 6 views
2

나는 uploadcare로 대화 상자를 열 때 파일 형식 (mp3 파일 만)을 제한하려고합니다.자바 스크립트에서 업로드 관리로 파일 형식을 제한하려면 어떻게해야합니까?

 uploadcare.loadFileGroup(soundGroupID) 
     .done(function (fileGroup) { 
      uploadcare.openDialog(fileGroup.files(), { 
       multiple: true, 
       multipleMin: 0, 
       fileTypes="mp3" 
      }).done(
       function (file) { 
        file.promise().done(
         function (fileInfo) { 
          //TODO Something 
         }); 
       }); 
     }) 
     .fail(function() { 
      // Something went wrong. 
     }); 

유효성 검사기를 밀 수있는 방법이 있습니까? 위젯에 액세스 할 수있는 방법이 있습니까? 보시다시피 대화 상자를 열어 어디서나 위젯에 액세스 할 수 없습니다.

+0

황금색 인 파일 입력의 attrib에 _accept_param이 전달되면이 파일이 전달됩니다. – dandavis

답변

2

현재 API에는 대화 상자에 대한 유효성 검사기가없고 위젯에만 유효성 검사기가 없습니다. 하지만 가짜 위젯을 만들고 그것에 .openDialog() 메서드를 사용할 수 있습니다.

uploadcare.loadFileGroup(soundGroupID) 
.done(function (fileGroup) { 
    var widget = uploadcare.MultipleWidget('<input data-multiple multiple-min="1">'); 
    widget.validators.push(function(info) { 
     if (info.name !== null) { 
      if (! /\.mp3$/i.test(info.name)) { 
       throw Error('mp3-only'); 
      } 
     } 
    }); 
    widget.openDialog(null).done(
     function (file) { 
      file.promise().done(
       function (fileInfo) { 
        //TODO Something 
       }); 
     }); 
}) 
.fail(function() { 
    // Something went wrong. 
}); 

또는, 개인 __validators 옵션 유효성 검사기의 목록을 통과 할 수 있지만, 이것은 내부 API 및 는 향후 버전에을 변경할 수 있습니다.