|
|
发表于 2019-9-26 16:49:51
|
显示全部楼层
本帖最后由 Stubborn 于 2019-9-26 16:52 编辑
- def upload_img(icon_object):
- """阿里云存储"""
- AccessKeyId = ""
- AccessKeySecret = ""
- BucketName = ""
- # 建立鉴权对象
- auth = oss2.Auth(access_key_id=AccessKeyId, access_key_secret=AccessKeySecret)
- bucket = oss2.Bucket(auth, "oss-cn-shenzhen.aliyuncs.com", BucketName)
- # 准备上传
- key = icon_object.name # 上传后的文件问,如有名字重复,则被覆盖,建议上传前,进行不重复名字编码,或者增加目录
- put_object_result = bucket.put_object(key=key, data=icon_object.read())
- if put_object_result.status == 200:
- return f"https://stubbron.oss-cn-shenzhen.aliyuncs.com/{key}"
- else:
- return None
复制代码
如下是一段调用
- @decorators.login_required
- def ali_could_storage(request):
- """阿里云对象存储上传"""
- user = request.user
- if request.method == "GET":
- return render(request, 'login/center.html', context={"user": user})
- else:
- username = request.POST.get("username")
- email = request.POST.get("email")
- phone_number = request.POST.get("phone_number")
- icon_object = request.FILES.get('icon') # 内存存储对象
- user.username = username
- user.email = email
- user.phone_number = phone_number
- path = upload_img(icon_object=icon_object)
- if path is None:
- return render(request, 'login/center.html', context={"user": user, "msg": "跟新失败"})
- else:
- user.yunicon = path
- # 保存
- user.save()
- return render(request, 'login/center.html', context={"user": user})
复制代码 |
|