如何使用角度js中的Upload.upload发送其他参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用角度js中的Upload.upload发送其他参数?相关的知识,希望对你有一定的参考价值。

我正在尝试使用角度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...");
});

这就是我的路线。这里是打印'undefined'而不是名字。

请帮我。

答案

您可以在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();
        }
    });
});

希望能帮助到你。

另一答案
Upload.upload({
    url: url,
        method: "POST",
        data: {
            details: {name: jack},
            files: files
        }
}).then(function (success) {
    console.log(success);
});

以上是关于如何使用角度js中的Upload.upload发送其他参数?的主要内容,如果未能解决你的问题,请参考以下文章

解析错误:语法错误,第 4 行 E:\pemrograman\xampp\htdocs\upload_test\upload_media_test.php 中的意外 T_VARIABLE

js上传图片并预览

Dropzone Apollo-upload-client 使用 Upload!类型

如何从request.FILES获取文件名?

致命错误:调用未定义的方法 Upload::do_upload()

http请求中的异步选项,角度为2