vue前端Django后端上传文件到腾讯云

本人采用的是,将文件数据先传递到Django后端再进行上传处理的方法。

上传腾讯云使用的是官方python文档

vue前端

前端具体讲解请参考另一篇文章----> 传送门

Django后端上传

里面涉及到的私人身份校验数据均为类中的变量,请自行配置,为节省篇幅给出部分代码,大致思路不变。

    def loginCos(self):
        logging.basicConfig(level=logging.INFO, stream=sys.stdout)
        config = CosConfig(Region=self.region, SecretId=self.secret_id, SecretKey=self.secret_key, Token=self.token,
                           Scheme=self.scheme)
        client = CosS3Client(config)
        return client


	@action(methods=['post'], detail=False)
    @csrf_exempt
    def add_resource(self, request, *args, **kwargs):
        file = request.FILES.get("file", None)
        desc = request.data.get('desc', None)

        if file and desc
            filetype = os.path.splitext(str(file))[1]
            filename = uid + filetype
            client = self.loginCos()
            response = client.put_object(
                Bucket=self.Bucket,
                Body=file,
                Key=filename,
                ContentType=type,
                StorageClass='STANDARD',
                EnableMD5=False
            )
            if (response['ETag']):
                fileUrl = self.baseurl + filename
                models.Source.objects.create(uploader=uploader, memory=size, name=name + filetype,
                                             desc=desc, date=datetime.now(), file=fileUrl, uid=filename)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值