【问题标题】:Using the mean stack, how do you send an image back to the server?使用平均堆栈,如何将图像发送回服务器?
【发布时间】:2014-11-25 00:38:41
【问题描述】:

我正在使用 mean.io,我在其中创建了一个类似于文章的新包。在其中,我创建了一个图像(使用 canvas.toDataURL()),现在想将其发送回服务器,但有问题;有人可以建议吗?

更具体地说,我到目前为止所做的如下:

在newpackages/public/controllers/newpackages.js //创建图像后,我将它传递给一个sendImgToServer()方法

'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(){
    });
};

在 newpackages/public/routes/newpackages.js 中

...

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

在 newpackages/server/controllers/newpackages.js 中

...

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

最后,在 newpackages/server/routes/newpackages.js 中

...

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

...

在控制台中,我收到的错误消息是:

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

提前谢谢你。

【问题讨论】:

    标签: angularjs node.js express mean-stack mean.io


    【解决方案1】:

    您得到的错误是因为您在方法 sendImgToServer 中将内容类型标头设置为未定义。

    headers:{'Content-Type':undefined}
    

    设置适当的标题,例如:

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

    【讨论】:

    • 感谢您的回复,iH8。我试图将标题值更改为您建议的值,但无济于事。我实际上是引用了以下链接:groups.google.com/forum/#!topic/angular/MBf8qvBpuVEuncorkedstudios.com/blog/…
    • 是的,仍然出现同样的错误。我实际上对 mean stack/mean.io 还很陌生,并且没有意识到如果您使用 cli 正确创建了一个包(mean package ),它提供了有关如何设置服务器路由的示例。让我试试这个,看看我是否可以将图像发送到服务器,我会报告回来(只是为了排除 bk 端的问题)。
    猜你喜欢
    • 1970-01-01
    • 2016-08-02
    • 2016-10-02
    • 2017-04-12
    • 2018-09-21
    • 2014-09-02
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    相关资源
    最近更新 更多