火锅鸡
火锅鸡
  • 发布:2024-03-27 15:00
  • 更新:2024-03-28 18:35
  • 阅读:63

怎么使用DB Schema的js扩展创建文件

分类:uniCloud

我使用了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两个字段?  
                                //能直接在云存储里面创建文件,并写文件吗?  
            }  
        }  
    }  
}
2024-03-27 15:00 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

只能下载到云函数内再生成md5

火锅鸡

火锅鸡 (作者)

云函数里面我是直接使用

fs这个模块来操作吗?

类似下面这种?

const fs = require('fs')  
const content = ' 雷猴雷猴\n'  
const opt = {  
  flag: 'a', // a:追加写入;w:覆盖写入  
}  

fs.writeFile('test.txt', content, opt, (err) => {  
  if (err) {  
    console.error(err)  
  }  
})

要回复问题请先登录注册