2014-11-25 5 views
0

Я использую mean.io, где я создаю новый пакет, похожий на статьи. В нем я создаю изображение (используя canvas.toDataURL()) и теперь хотел бы отправить его обратно на сервер, но с проблемами; может кто-нибудь пожалуйста посоветуете?Используя средний стек, как вы отправляете изображение обратно на сервер?

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

В newpackages/государственные/Контроллеры/newpackages.js // после создания образа, я передать его методу

'use strict'; 

angular.module('mean.newpackages').controller('NewpackagesController', ['$scope','$http',..., 
function($scope, $stateParams, $http, ... Newpackages){ 

... 

$scope.sendImgToServer = function(image){ 
    console.log(image); //data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAARwCAYAAAB… 
    var postURL = '/newpackages/saveImg'; 
    var fd = new FormData(); 
    fd.append("image", image); 

    $http.post(postURL, fd,{ 
     headers:{'Content-Type':undefined}, 
     transformRequest:angular.identity 
    }) 
    .success(function(){ 
    }) 
    .error(function(){ 
    }); 
}; 
sendImgToServer()

В newpackages/Public/маршруты/newpackages.js

... 

$stateProvider 
    ... 
    .state('save newpackage image', { 
    url:'/newpackages/saveImg', 
    resolve:{ 
     loggedin:checkLoggedin 
    } 
    }); 
} 

В newpackages/сервер/контроллеры/newpackages.js

... 

exports.saveImg = function(req, res){ 
    console.log('save img'); 
}; 

Наконец, в newpackages/сервер/маршруты/newpackages.js

... 

app.route('/newpackages/:fd') 
    .post(newpackages.saveImage); 

... 

В консоли, сообщение об ошибке я получаю это:

TypeError: undefined is not a function 
    at Scope.$scope.sendImgToServer 

Спасибо заранее.

ответ

0

Ошибка, возникающая из-за того, что вы устанавливаете заголовок типа контента неопределенным в методе sendImgToServer.

headers:{'Content-Type':undefined} 

Установите соответствующий заголовок, например:

headers:{'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 
+0

Спасибо за ответ, iH8. Я попытался изменить значение заголовков на то, что вы предложили, но безрезультатно. Я действительно ссылался на следующие ссылки: https://groups.google.com/forum/#!topic/angular/MBf8qvBpuVE и http://uncorkedstudios.com/blog/multipartformdata-file-upload-with-angularjs –

+0

И вы 'все еще получают ту же ошибку? – iH8

+0

Да, по-прежнему получается такая же ошибка. Я на самом деле довольно новичок в средстве stack/mean.io и не понимал, что если вы правильно создаете пакет с помощью cli (средний пакет ), он содержит примеры того, как настраивать маршруты сервера. Позвольте мне попробовать это и посмотреть, смогу ли я получить изображение на сервер, и я отчитаюсь (просто чтобы исключить проблемы на bk-end). –

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