0

我正在尝试找到一种存储图像和 3d 资产的方法,因为我认为它们不应该存储在数据库中(Azure Database for MySQL)。

我认为最好将它们存储在云存储中,因此我选择了 Azure Blob 存储。

我认为我应该将文件名和其他属性存储到数据库中,并使用从数据库返回的 fileID 从 Azure Blob 存储中获取项目的位置。

但是我很担心交易安全,万一失败了怎么办?例如,如果上传到 Azure Blob 存储失败,我是否应该删除记录以尝试“撤消”?

有一个更好的方法吗?是否推荐?

编辑:再想一想,一个更好的主意可能是首先上传到 Azure Blob 存储,然后只有在成功上传后,才将记录上传到数据库中。我认为这样更安全。

4

1 回答 1

0
  • 在 try-catch 块中,首先检查图像的 URL 是否存在,如果不存在,则将图像上传到存储并获取文件 URL
  • 如果上传成功,则启动事务并将新记录添加到带有图像 URL 的数据库中。
  • 如果交易失败,删除图片
于 2019-07-23T16:22:51.490 回答