You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS+TypeORM对接PostgreSQL存储上传文件的字段类型配置问题

方案1:优先推荐-存储文件访问路径

字段类型配置

  • 实体类中attachFile直接定义为string类型即可
  • TypeORM 列配置用varchar类型,长度设置255~500足够存储文件路径
    代码示例:
@Column({
  type: 'varchar',
  length: 500,
  nullable: true // 附件非必填的话可开启
})
@IsOptional()
@IsString()
attachFile: string;

配套逻辑

前端提交文件后,后端先将PDF文件存储到本地静态资源目录、云对象存储等位置,生成可访问的资源路径,再将路径字符串存入该字段即可。

优势

  • 数据库体积小,查询性能不受文件大小影响
  • 前端预览、下载文件时可直接使用路径,无需额外转码处理
  • 运维备份、迁移成本低

方案2:特殊场景使用-直接存储文件二进制

如果有合规要求必须将文件存在数据库内,才选择该方案:

字段类型配置

  • 实体类中attachFile定义为Buffer类型
  • TypeORM 列配置根据数据库类型选择:MySQL用longblob,PostgreSQL用bytea
    代码示例:
@Column({
  type: 'longblob', // PostgreSQL替换为'bytea'
  nullable: true
})
attachFile: Buffer;

注意事项

该方案会导致数据库体积快速膨胀,查询、备份效率大幅下降,无特殊需求不建议使用。

内容的提问来源于stack exchange,提问作者Shruti sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:06:05