更改上传文件夹并将图像的位置放在api-sails.js中

时间:2014-10-26 17:09:56

标签: sails.js

我有一个客户端应用程序注册表单,它将数据发送到我的sails.js服务器。 除了发送的基本数据,我还有一个上传图像的图像上传到./tmp/uploads

这是我的服务器端代码(在控制器中):

upload: function  (req, res) {
   req.file('avatar').upload({ dirName: 'uploads' }, function (err, uploadedFiles){
      if (err) return res.send(500, err);
      res.view({
        items: uploadedFiles
      });
   });
}

1)如何更改文件所在的文件夹?我好像不希望文件保存在.tmp文件夹

2)如何将图像位置插入刚刚创建的数据api?并谈到图像位置,我如何访问图像文件?我通常期望这样的localhost:1337 / .tmp / uploads / file.jpg会起作用。

1 个答案:

答案 0 :(得分:0)

1)你必须在prop'dirname'中放置一个绝对路径,例如:

var PATH = '/var/www/app/uploads';
req.file('avatar').upload({ dirname: PATH }, function (err, uploadedFiles){

或者您可以使用控制器的相对路径:

var PATH = __dirname + '/../uploads';
req.file('avatar').upload({ dirname: PATH }, function (err, uploadedFiles){

2)您可以访问控制器中的每个模型,假设您有Image模型,您可以这样保存位置:

Image.update({id:1},{location: PATH + '/' + uploadedFiles[0].filename})