Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript sailsjs中的文件名生成器_Javascript_Node.js_Sails.js - Fatal编程技术网

Javascript sailsjs中的文件名生成器

Javascript sailsjs中的文件名生成器,javascript,node.js,sails.js,Javascript,Node.js,Sails.js,我使用sails在sails中上传图像,它会自动生成一个文件名(554d69bd-ecda-4df2-936b-be9f8d72e760.jpg) 现在我必须将base64图像上传到服务器。问题是我找不到任何函数/方法来生成图像名称,就像我们使用其上载功能时sails生成的那样 我使用的上传功能如下: var file = req.file('image'); var ext = file.split(';')[0].match(/jpeg|png|gif/)[0]; var data = fi

我使用sails在sails中上传图像,它会自动生成一个文件名(
554d69bd-ecda-4df2-936b-be9f8d72e760.jpg

现在我必须将
base64
图像上传到服务器。问题是我找不到任何函数/方法来生成图像名称,就像我们使用其上载功能时sails生成的那样

我使用的上传功能如下:

var file = req.file('image');
var ext = file.split(';')[0].match(/jpeg|png|gif/)[0];
var data = file.replace(/^data:image\/\w+;base64,/, '');
var buffer = new Buffer(data, 'base64');
const filename = ??;
fs.writeFile(
    path.resolve(sails.config.appPath, 'assets/uploads') +
        filename +
        ext,
    buffer
);

那么,有没有什么方法可以像sails那样生成文件名,或者知道他们使用的编码,这样我就可以自己生成文件名。

既然sails.js内置了skipper,您可以看看
https://github.com/balderdashy/skipper#using-reqfileupload
在选项部分,您可以设置文件名。或者您也可以使用另一个cdn(如firebase storage)并构建自己的帮助程序。

我对sails一无所知,但该文件名看起来像是十六进制加密(密钥:0-9/a-f)。如果是这样的话,那么你不能自己创建一个随机生成器,因为你需要你的sails用于加密的种子。否则,sails将无法解密它。你可以阅读更多关于这个概念的内容