2015-08-13 2 views
2

Я пытаюсь загрузить документ или DOCX файлы в моем приложении:Невозможно загрузить .doc или .docx файл

Вид:

<div class="col-xs-12"> 
    <input type="file" ng-file-select="onFileSelect($files)"/> 
    <table> 
     <td ng-repeat="file in files">{{ file.name }} </td> 
    </table> 
</div> 

клавиш CTRL:

controller: ['$scope', '$modalInstance', 'rule', '$upload', '$resource', function (modalScope, modalInstance, originalRule, $upload, $resource) { 
       modalScope.isLoaded = true; 
       modalScope.files = []; 
       modalScope.onFileSelect = function ($files) {   
       var maxSizeString = '10 Mo'; 
       var maxSizeValue = 10 * 1024 * 1024; // 10Mo 
       var supportedFileFormat = ['image/gif', // 
         'image/jpeg', // 
         'image/png', // 
         'image/tiff',// 
         'image/svg+xml', // 
         'application/pdf',// 
         'application/doc',// 
         'application/docx',// 
        ]; 

       $.each($files, function (index, file) { 
         if (_.contains(supportedFileFormat, file.type)) { 
          if (file.size > maxSizeValue) { //10Mo 
           modalScope.fileUploaded = false; 
          } else { 
           modalScope.fileUploaded = true; 
           modalScope.files.push(file); 
          } 
         } else { 
          modalScope.fileUploaded = false; 
         } 
        }); 
       }; 

I может загружать изображения или .pdf, но не .doc или .docx. Что я делаю неправильно? Обратите внимание, что я использую версию 1.3.1 ng-file-upload. Невозможно обновить до 6.x, но я не думаю, что проблема исходит отсюда.

+0

Какая ошибка у вас? –

+0

Убедитесь, что тип файла находится в поддерживаемых форматах файлов, о которых вы упомянули. – callmekatootie

+0

Ничего! Я помещаю консольный журнал для регистрации типа файла, но ничего не отображается. Принимая во внимание, что когда я загружаю pdf-документ, я имею в консоли «type = application/pdf». – hhelbawi

ответ

2

правильные типы MIME являются следующие:

.doc -> application/msword 
.docx -> application/vnd.openxmlformats-officedocument.wordprocessingml.document 

Другие типы MIME формате MS суммированы here.

+0

Я стараюсь, но не работает для меня. – LetsCMS

0

Я предполагаю, что плагин вы используете смотрит на мим-типа:

(скопировано отсюда: What is a correct mime type for docx, pptx etc?)


.docx применение/vnd.openxmlformats-officedocument. wordprocessingml.document

+0

Извините, но ваша ссылка отправила меня на «Страница не найдена» – hhelbawi

+1

Обновление. теперь вы можете найти коллекцию миметиков в ссылке ;-) –

2

правильные типы MIME для .doc и .docx перечислены как: .doc -> применение/MSWord .docx -> приложение/vnd.openxmlformats-officedocument.wordprocessingml.document

Таким образом, вы должны добавить эти два типа MIME в вашу поддерживаемую переменнуюFileFormat, и это позволит загружать файлы .doc.

.docx файлы на самом деле интерпретируются вашим приложением как приложение MIME типа/zip, потому что файлы .docx фактически зашифрованы XML-файлами.

var supportedFileFormat = ['image/gif', // 
        'image/jpeg', // 
        'image/png', // 
        'image/tiff',// 
        'image/svg+xml', // 
        'application/pdf',// 
        'application/zip',// 
        'application/msword',// 
       ]; 

Изменение последние две строки в вас supportedFileFormat переменную в те выше должны решить вашу проблему.

Смежные вопросы