在上传回环组件存储之前,我很难重命名文件。看起来,环回并没有提供相同的内置选项。对于从角度形式上传,我使用了角度 uploader beforeupload 方法来使用以下方法更改文件名:
this.fileExtension = '.' + item.file.name.split('.').pop();
item.file.name = Math.random().toString(36).substring(7) + new Date().getTime() + this.fileExtension;
是否可以在loopback组件存储中的upload方法的远程hook之前执行相同的操作?我的目的是对来自移动设备的 api 请求执行相同的文件名更改操作。如果远程钩子(Hook)不能做到同样的事情,是否还有其他方法可以达到相同的结果?提前致谢!
最佳答案
假设您在 datasources.json
中定义了 storage
DS。
您可以在启动脚本中执行此操作:
//server/boot/any.js
module.exports = function(app){
app.dataSources.storage.connector.getFilename = function (file, req, res) {
//file.name is original filename uploaded
var filename = req.query.filename || 'general.ext';
return filename;
}
};
并在上传网址中添加文件名
。
例如:/containers/my-container/upload?filename=profile.jpg
关于node.js - 在上传之前使用环回组件存储中的远程 Hook 重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782033/