回到项目,在 file 目录的下面,创建一个新的文件,名字是 file.model.ts,在这个文件里可以导出一个类,用这个类描述一下文件数据的样子。
export 一个 class,名字可以是 FileModel ,在这个类里描述一下文件数据,添加一个可选的 id 属性,类型是 string ,这个 id 的类型应该是 number,暂时先设置成 string,看看会不会有问题。
再添加一个 originalname ,类型是 string,还需要一个 mimetype ,类型是 string,还有一个 filename,类型也是 string, 再添加一个 size,类型是 number,还需要一个 userId ,类型是 number , 最后再添加一个可选的 postId 属性,类型是 number。
打开 file.service,在文件的顶部,导入 FileModel ,来自当前目录的 file.model。下面找个地方去定义一个存储文件信息用的函数。
导出一个异步函数,名字是 createFile,函数接收一个参数,名字是 file,类型是 FileModel 。在函数主体里面,先准备一段 SQL 查询,添加一个 statement,用字符模板组织一段 SQL。 INSERT INTO file,SET ? 这个 ? 号是个占位符,在执行这段 SQL 的时候要提供它的值。
下面要执行一下这段 SQL, const 方括号,data,解构一下执行结果,await,用一下 connection 上的 promise() 方法,接着再调用 query() 方法执行一段 SQL,要执行的是 statement,提供这段 SQL 里的占位符的值,这里就是 file 。
最后让这个函数提供点数据,return 的东西就是 data 。