我使用了uni-admin插件。
我的数据库表是:
test-file.schema
{
"bsonType": "object",
"required": ["description", "file"],
"permission": {
"read": "'license' in auth.permission",
"create": "'license' in auth.permission",
"update": "'license' in auth.permission",
"delete": "'license' in auth.permission"
},
"properties": {
"_id": {
"description": "记录id,自动生成"
},
"file": {
"bsonType": "file",
"description": "配置文件",
"label": "配置文件"
},
"file_result": {
"bsonType": "file",
"description": "结果文件",
"label": "结果文件"
},
"result_md5": {
"bsonType": "string",
"description": "结果文件的MD5",
"label": "结果MD5"
},
}
}
我用这个数据库使用schema2code生成了前端代码,前端代码在add.vue里面点击 提交 时。
我想在数据库扩展里面,读取这个file的内容,然后处理里面的内容。把内容生成另外一个file_result和result_md5
test-file.schema.schema.ext.js
module.exports = {
trigger: {
beforeCreate: async function({
addDataList
} = {}) {
for (let i = 0; i < addDataList.length; i++) {
const addDataItem = addDataList[i]
if (!addDataItem.file) {
continue
}
let configFile = addDataItem.file
//这里怎么读取文件内容,并且填充file_result和result_md5两个字段?
//能直接在云存储里面创建文件,并写文件吗?
}
}
}
}
2 个回复
DCloud_uniCloud_WYQ
只能下载到云函数内再生成md5
火锅鸡 (作者)
云函数里面我是直接使用
fs这个模块来操作吗?
类似下面这种?