【问题标题】:How to send additional parameters using Upload.upload in angular js?如何在 Angular js 中使用 Upload.upload 发送附加参数?
【发布时间】:2018-06-02 22:45:20
【问题描述】:

我正在尝试使用 Angular js 上传文件

var requestData = {
      url: "/file_upload",
      data: {"name":"jack", file:file},
    };

Upload.upload(requestData);

这是我的控制器所拥有的。

app.post("/file_upload", function(req, res){
   console.log(req.body.name);
   res.send("uploading...");
});

这就是我的路线所拥有的。 这里打印的是“未定义”而不是名称。

请帮帮我。

【问题讨论】:

    标签: angularjs node.js file-upload ng-file-upload


    【解决方案1】:

    您可以在data字段中发送更多参数。

    这就是我使用上传功能的方式:

    Upload.upload({
        url: url,
        method: 'POST',
        file: file,
        data: {name:'Hello!'} // Here you can send JSON parameters
    });
    

    希望对你有帮助。

    编辑

    这就是我在 Node.js 端接收文件的方式

    Multer 中间件功能

    var uploader = multer({
        storage: multer.diskStorage({
            destination: function (req, file, next) {
                next(null, '/path/to/final/file');
            },
            filename: function (req, file, next) {
                next(null, 'finalFileName.csv');
            }
        }),
        limits: {
            fieldNameSize: 100,
            fileSize: 20000000,
            files: 1,
            fields: 5
        }
    }).single('file');
    

    我的路线

    server.post('/file_upload', function (req, res) {
        uploader(req, res, function (err) { // call uploader middleware
            if (err) {
                throw err;
            }
            else if (req.file) {
                console.log(req.file);
                console.log(req.body.name); // I can use parameters
                res.status(200).json('OK!').end();
            }
            else {
                res.status(424).json('Error !').end();
            }
        });
    });
    

    希望对你有帮助。

    【讨论】:

    • 你用什么来接收文件或服务器端?
    • node js (express) and package is multer ..you can see it on my question
    • 当然,但是您使用的是“multer”模块还是类似的东西?
    【解决方案2】:
    Upload.upload({
        url: url,
            method: "POST",
            data: {
                details: {name: jack},
                files: files
            }
    }).then(function (success) {
        console.log(success);
    });
    

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 2014-07-20
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      相关资源
      最近更新 更多