angularjs - 将文件从 Angular JS 上传到 Sails JS

标签 angularjs node.js file-upload sails.js

我是 Sails 的新手,我正在尝试在前端使用 Angular 上传文件。这是我的文件 Controller

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

    }
};

我在尝试创建目录来保存文件时遇到此错误:

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

如果我删除带有目录名的那一行,我认为它应该默认保存到一个临时文件夹中。我试过了,我收到了成功消息,但没有创建临时文件夹。有什么想法吗?

最佳答案

我遇到了同样的问题。 你必须改变这一行:

dirname: require('path').resolve(sails.config.appPath, '/assets/images')

用这个:

dirname: sails.config.appPath + '/assets/images'

问题是您需要 root 权限,因为 Sails 在您的主目录中创建了一个文件夹(而不是在您的应用程序文件夹中...)。

关于angularjs - 将文件从 Angular JS 上传到 Sails JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31792606/

相关文章:

angularjs - 如何在ng网格中隐藏列

javascript - AngularJS ng-src 异步函数

java - 如何使用 Java Webapp 将文件上传到 MongoDB?

node.js - Mongoose,无法从数据库打印产品

php - CakePHP 身份验证后访问受限文件

grails - 无法在 Grails 3.1.1 中安装 HTML5 拖放多文件上传插件

javascript - 带有 this 关键字的 Angular $on 函数

javascript - 使用 .sort 对数组中的数据进行 asc 或 desc 排序

javascript - 路由到静态 HTML 页面,以及 Express 中的模板化动态路由

node.js - verdaccio安装成功,但该软件包仅下载到verdaccio的存储中