将文件从Angular JS上传到Sails JS

Agu*_*tín 2 file-upload node.js angularjs sails.js

我是Sails的新手,我试图在前端使用Angular上传文件.这是我的FileController

module.exports = {
    upload: function  (req, res) {
        req.file('file').upload({
            dirname: require('path').resolve(sails.config.appPath, '/assets/images')
        },function (err, uploadedFiles) {
            if (err) return res.negotiate(err);

            return res.json({
                message: uploadedFiles.length + ' file(s) uploaded successfully!'
            });
        });

    }
};
Run Code Online (Sandbox Code Playgroud)

我试图创建一个目录来保存文件时遇到此错误:

Sending 500 ("Server Error") response: 
 Error: EACCES, mkdir '/assets' { [Error: EACCES, mkdir '/assets'] errno: 3, code: 'EACCES', path: '/assets' }
Run Code Online (Sandbox Code Playgroud)

如果我用dirname删除该行,我认为它应该默认将它保存到临时文件夹中.我试过了,我收到了成功消息,但没有创建临时文件夹.有任何想法吗?

Mar*_*ski 6

我有同样的问题.你必须改变这一行:

dirname: require('path').resolve(sails.config.appPath, '/assets/images')
Run Code Online (Sandbox Code Playgroud)

这一个:

dirname: sails.config.appPath + '/assets/images'
Run Code Online (Sandbox Code Playgroud)

问题是您需要root权限,因为Sails正在您的主目录中创建一个文件夹(而不是在您的app文件夹中......).