Sails - 如何设置自定义文件名req.file('file')

时间:2016-05-19 05:43:52

标签: node.js sails.js

我正在使用sails并将文件从客户端上传到服务器而没有表单,我正在使用fs.createReadStream('file')。我将文件数据发送到服务器,当我上传文件时,我获得了所有数据,但更改了文件名并设置了随机文件名。以下是我的代码。

var uploadFile = req.file('file');
uploadFile.upload({
     maxBytes: 250000000000,
     dirname: '../../assets/videos'
   }, function onUploadComplete(err, files) {
if (err) {
       return res.json({
         status: false,
         msg: 'uploading error'
       }); // False for err
     } else {
       return res.json({
         status: true,
         msg: 'success',
         data: files
       }); // True for success
     }
   });

在文件中我得到了一个有效的数组,但我不知道它为什么会改变文件名。上传时是否有设置自定义名称的选项?如:

var object = {
     maxBytes: 250000000000,
     dirname: '../../assets/videos',
     fileName: 'xyz.mp4'
   }

提前致谢:)

1 个答案:

答案 0 :(得分:10)

您可以通过saveAs选项保存包含自定义名称的文件。 (假设您使用的是默认sails-skipper

uploadFile.upload({
    dirname: 'path to store the file',/* optional. defaults to assets/uploads I guess*/
    saveAs: 'new file name', /* optional. default file name. Can also take a function */
    maxBytes: 5 * 1024 * 1024 //5 MB
},function onUploadComplete(err, uploadedFiles) {
    ...
})