【问题标题】:Sails v10 Skipper and UUIDSails v10 船长和 UUID
【发布时间】:2014-09-27 10:05:12
【问题描述】:

我有一个 Sails 应用程序,并在相关控制器中使用以下简单代码上传文件:

upload: function(req,res){ req.file('files').upload({ dirname: './uploads/', maxBytes: 1000000 },function (err, uploadedFiles) { if (err) { return res.send(500, err); } else { return res.json({ message: uploadedFiles.length + ' file(s) uploaded successfully!', files: uploadedFiles }); } });
}

在文档中它说“默认情况下,Skipper 通过生成 UUID 并将其与文件的原始文件扩展名相结合来为您上传的文件(称为 fd)决定一个“静态”文件名。上传(“例如 24d5f444-38b4-4dc3-b9c3-74cb7fbbc932.jpg”)。

这不会发生。我的文件以其原始文件名保存在“./uploads/”文件夹中。只是想知道缺少 UUID 文件名我哪里出错了。还是我只是误解了文档?我没有收到任何控制台警告或错误。为了简单起见,我真的很想让 Skipper 处理任何文件的唯一命名。

【问题讨论】:

    标签: sails.js


    【解决方案1】:

    我认为你脚下的地面可能正在移动;您指的是最近的更新。它使用latest Skipper from Github 对我有用,但它可能尚未发布到 NPM。

    【讨论】:

      【解决方案2】:

      除了sgress454评论:

      Skipper 仅在 14 小时前在全球sails-packages 中更新:https://github.com/balderdashy/sails/commit/3af77c42a5d8c7687e3d56eeefd9cffdfc24195b

      这个新的 packages.json 可能不包含在“sails”的当前 npm 安装中。

      要解决这个问题,你可以这样做:

      cd yoursails_project/node_modules/sails
      npm install skipper --save
      

      【讨论】:

      • 谢谢。假设这些小东西是使用预发布版本必须付出的代价。实际上,我最终只是创建了自己的简单函数来为上传的文件指定一个唯一的名称。
      • 我的理解是没有必要安装 Skipper,因为它已经移植到 Sails 作为 bodyParser 的替代品?它肯定不在我的 package.json 中(我确实必须添加 Skipper-Disk),也不在我的应用程序的节点模块中,但 Skipper 文档中的上传功能可以正常工作。只是没有重命名。
      • 查看您的sails-app 中的packages.json。你会在 yoursails_project/node_modules/sails/packages.json 找到它
      • 对了。这一切都变得清晰起来。我在全球范围内安装了 Sails。这一定是我的“本地”项目中似乎缺少它的原因。哇!
      猜你喜欢
      • 2020-09-20
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      相关资源
      最近更新 更多