【问题标题】:How to upload file from method using post method如何使用 post 方法从方法上传文件
【发布时间】:2016-09-14 20:56:04
【问题描述】:

//这是我的控制器

function addFile(file){
        alert("inside add file");
        customerService.uploadCsv(file).then(function(response){
            if(response=="success"){
                alert("file uploaded");
            }else{
                alert("something went wrong");
            }
        },
        function(error){
            alet("error")

        });
    }

//这是我的服务

  this.uploadCsv=function(file){
        alert("inside upload csv service ");
        return $http.post('http://localhost:3005/customers/csv').then(function(response){
            deferred.resolve(response.data);
            return deferred.promise;
        },
        function(error){
            deferred.reject(error);
            return deferred.promise;
        });
    };//end of uploadCsv function

我必须以键值发送文件,键是'upl',值是文件。我要从视图(html)中获取文件

【问题讨论】:

标签: javascript angularjs node.js html


【解决方案1】:

作者formData,见Document

  this.uploadCsv = function(file) {
    alert("inside upload csv service ");
    
    var fd = new FormData();
    fd.append('upl', file);
    
    $http.post('http://localhost:3005/customers/csv', fd, {
        transformRequest: angular.identity,
        headers: {
          'Content-Type': undefined
        }
      })
      .then(function(response) {
          deferred.resolve(response.data);
          return deferred.promise;
        },
        function(error) {
          deferred.reject(error);
          return deferred.promise;
        });
  }; //

【讨论】:

    【解决方案2】:

    我看到你用 Node.js 标记了这篇文章。如果您使用的是 Node,有一个有用的模块可以让文件上传变得简单:Multer

    只需添加:

    var multer  = require('multer')
    var upload = multer({ dest: 'uploads/' })
    

    已经在服务器上创建了 /uploads(随意命名)。

    例如,如果您使用 Express,只需使用 :

    调用它
    app.post('/profile', upload.single('fileName'), function (req, res, next) { // code here });
    

    最后不要忘记将 enctype 添加到视图中的表单中,如描述 here(文件检查表单的 multipart/form-data)。

    它已经完成了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-07
      • 2018-02-27
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多