微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对象存储中的重复

如何解决对象存储中的重复

我在 Django 应用中使用了 Minio-backend我有一个功能用户可以使用对象存储(用户在线图库),此外,用户可以从设备上传新图像以创建帖子。但是当我使用对象存储图像并创建图像时,图像在对象存储中重复(因为每次创建帖子时,我都想在对象存储中上传新图像(本地上传的图像))。我应该怎么做才能防止这些重复?

这是我的模型:

        class MediaStorage(models.Model):   
                    file = models.FileField(verbose_name="Object Upload",storage=MinioBackend(bucket_name='django-backend-dev-private'),upload_to=iso_date_prefix)

这是我创建的新帖子:

class CreatePostView(generics.CreateAPIView):


 ...
    def post(self,request,*args,**kwargs):
            user = request.user
            data = request.data
    
            ...
        for media_file in post_files:
            file_team=post_team
            f = MediaStorage.objects.create(team=file_team,owner=user)
            f.media=media_file
            f.save()
            post.multimedia.add(f)

        return Response(post_serializer.PostSerializer(post).data,status=status.HTTP_201_CREATED)

非常感谢。

解决方法

我认为您不应该直接上传,您可以先获取图像 md5,然后将属性设置为 MediaStorage 以保存 md5 值,上传前检查 DB 中是否存在相同的 md5,如果有,您可能已经上传之前的这张图

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?