2016-11-15 6 views
0
<input type="file" ng-model="articleimg" placeholder="upload related img">  

$http.post($scope.base_url+'create.php', 
      {params {view:'view',articleimg:$scope.articleimg}}) 
      .then(function(response){ 
        console.log(response); 
    }); 

Я хотел бы знать, как и где указать тип содержимого: Multipart/form-данных в этом angularjs после запроса?установка Content-Type: в угловом JS запроса после

Пожалуйста, помогите. по умолчанию представляется «application/json, text/plain», , который не работает с загрузкой изображений/файлов.

if(isset($_FILES['articleimg'])===true){ 
    echo "sucessfull"; 
}else echo "unsuccessfull"; 

код выше всегда эхо неуспешно.

ответ

3

$ http.post метод быстрого доступа в угловом принимает три параметра, URL, данные запроса и объект конфигурации, в котором вы можете установить заголовки, как показано ниже:

$http.post('/someUrl', data, {headers:{'Content-Type': 'multipart/form-data'}}).then(successCallback, errorCallback); 

В вашем случае это будет:

$http.post($scope.base_url+'create.php', 
     {params {view:'view',articleimg:$scope.articleimg}}, {headers:{'Content-Type': 'multipart/form-data'}) 
     .then(function(response){ 
       console.log(response); 
}); 

Вы можете также построить объект запроса, как показано ниже:

{ 
method: 'POST', 
url: $scope.base_url+'create.php', 
headers: { 
    'Content-Type': 'multipart/form-data' 
}, 
data: {params {view:'view',articleimg:$scope.articleimg}} 
} 

, а затем сделать запрос, как это:

$http(req).then(function(){...}, function(){...}); 

Если вы хотите установить общие приложения широкие заголовки, вы можете использовать заголовки по умолчанию, которые будут добавлены на все запросы по умолчанию, как показано ниже:

$httpProvider.defaults.headers.common['Content-Type'] = 'multipart/form-data'; 

Это добавит вышеупомянутый тип содержимого для всех запросов.

Более подробная информация в документации here

+0

на "-" в Content-Type бросает и ошибок. неожиданный маркер. – atswann

+0

Поместите «Content-Type» в кавычки. Он должен работать. – superUser

+0

Пробовал второй вариант «$ http (req)», но он просто не отображается на сервере php. когда я пытаюсь это сделать if (isset ($ _ FILES ['articleimg']) === true) { echo "sucessfull"; } else echo "unsuccessfull"; – atswann

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

  • Нет связанных вопросов^_^