NIM-поток изменения файла MIME тип при загрузке
В настоящее время я пытаюсь сделать загрузку изображений с помощью ng-flow. Кажется, у меня все настроено правильно для angularjs и ng-flow.
HTML:
<div flow-init
flow-complete="endUpload()"
flow-file-success="fileUpload( $file, $message )"
flow-files-added="filesAdded( $files, $event, $flow, channel )"
flow-files-submitted="uploadTarget( $files, $event, $flow )"
flow-drop>
</div>
JAVASCRIPT:
'link': function ( $scope, $http ) {
$scope.endupload = function() {};
$scope.fileUpload = function( $file, $message ) {};
$scope.filesAdded = function( $files, $event, $flow, channel ) {};
$scope.uploadTarget = function( $files, $event, $flow ) {
$flow.opts.singleFile = true;
$flow.opts.target = 'imagesUpload.php';
$flow.opts.query.uploading = true;
$flow.opts.query.type = 'icon';
$flow.opts.fileParameterName = 'upload';
$flow.opts.testChunks = false;
$flow.upload();
};
}
Запрос направляется в скрипт загрузки изображений AJAX на сервер. Этот PHP-скрипт должен проверить MIME-тип файла, прежде чем разрешить загрузку. В ng-flow перед загрузкой файлов MIME-тип файла выглядит так, как я и ожидал, 'image/png', 'image/jpeg', 'image/gif' и т. Д. Если я консоль регистрирую файлы $, я получаю что-то вроде этого:
file = {
name:"image.png",
relativePath:"image.png",
size:8784,
type:"image/png",
webkitRelativePath:""
}
Однако когда я отправляю файлы на сервер, глобальный $_FILES PHP имеет тип файла MIME как "application / octet-stream".
[upload] => Array
(
[name] => FILM4.png
[type] => application/octet-stream
[tmp_name] => /tmp/phpVJ5GII
[error] => 0
[size] => 4193
)
Я немного растерялся, что делать. В документации ng-flow я не могу найти, чтобы гарантировать, что тип MIME сохраняется. Я также не могу изменить PHP так, чтобы он принимал application / octet-stream, потому что он используется во многих других частях системы.
Как получить тип файла MIME для сохранения между ng-flow и php?