Javascript sailsjs中的文件名生成器
我使用sails在sails中上传图像,它会自动生成一个文件名(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
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将无法解密它。你可以阅读更多关于这个概念的内容