diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index b6c3440ed..26a6843c7 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -95,8 +95,14 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap } $view->headScript()->appendScript("var userType = '$userType';"); + // Dropzone also accept file extensions and doesn't correctly extract certain mimetypes (eg. FLAC - try it), + // so we append the file extensions to the list of mimetypes and that makes it work. $mimeTypes = FileDataHelper::getAudioMimeTypeArray(); - $view->headScript()->appendScript("var acceptedMimeTypes = ['".implode("','", array_keys($mimeTypes))."'];"); + $fileExtensions = array_values($mimeTypes); + foreach($fileExtensions as &$extension) { + $extension = '.' . $extension; + } + $view->headScript()->appendScript("var acceptedMimeTypes = " . json_encode(array_merge(array_keys($mimeTypes), $fileExtensions)) . ";"); } /** diff --git a/airtime_mvc/public/js/airtime/library/plupload.js b/airtime_mvc/public/js/airtime/library/plupload.js index 2287860fb..ea15d7e19 100644 --- a/airtime_mvc/public/js/airtime/library/plupload.js +++ b/airtime_mvc/public/js/airtime/library/plupload.js @@ -14,10 +14,11 @@ $(document).ready(function() { Object.freeze(self.IMPORT_STATUS_CODES); } + console.log(acceptedMimeTypes.join()); Dropzone.options.addMediaDropzone = { url:'/rest/media', //clickable: false, - acceptedFiles: acceptedMimeTypes.join(), + acceptedFiles: acceptedMimeTypes.join() + ",.flac", init: function () { this.on("sending", function (file, xhr, data) { data.append("csrf_token", $("#csrf").val());