最近在开发新版博客网站时,有几个页面需要使用图片上传功能 。整个项目前端基于vue3的element-plue和vue-cropper组件库封装一个图片上传组件,后端使Django REST framework开发api接口,存储使用七牛对象存储,以及腾讯CDN加速,总结了完整的前后端代码以及运维配置,以供大家参考 。
一、流程与思路分析1. 整体流程图

文章插图
2. 流程分析
用户图片上传以及显示整个过程可分为以下几个阶段:
- 页面加载阶段

文章插图

文章插图
- 用户上传图片阶段
API后端接收到请求后,使用七牛SDK请求七牛云存储服务,获取上传token后将token返回给客户端

文章插图

文章插图
客户端使用token上传文件至七牛对象存储服务,上传成功后,七牛存储返回客户端资源的URL地址给客户端

文章插图

文章插图
- 浏览器请求图片资源阶段

文章插图

文章插图
- 用户提交表单阶段
后端API接口保存图片资源URL地址

文章插图

文章插图
3. 开发需求分析
本案例使用如今最流行的前后端分离开发模式 。
- 前端使用vue3开发,主要实现用户选择本地图片后裁剪成文件blob,以及将文件流和token直接请求对象存储服务,实现文件上传两个功能 。
- 后端使python开发,借助Django REST framework框架开发api接口 。安装七牛对象存储的sdk,通过请求七牛服务,获取本次操作的token,并返回给前端 。
本案例使用主流的企业网站项目配置,使用公有云的OSS对象存储服务、CDN内容分发网络以及DNS域名解析 。此处选用七牛云对象存储和腾讯云CDN以及阿里云的域名解析,其他公有云厂商产品名称和配置项可能略有差异,但基本原理都是一样的,操作步骤也并无差别 。
没有注册的小伙伴们可以使用以下链接进行注册
- 七牛云:https://s.qiniu.com/VVfMnq
- 阿里云:https://www.aliyun.com/1111/new?userCode=gs1gd34d
- 腾讯云:https://curl.qcloud.com/yXdJdtu9
- 支付宝利息怎么算 支付宝利息是几厘
- 如何切换到本地管理员账户登录 win10怎么修改电脑管理员用户名
- win10系统怎么看内存条型号 win10怎样查看内存条型号
- 1-20的数字田格模板图片 一字怎么写田字格视频
- 如何设置电脑背景桌面删除 win10系统动态壁纸怎么设置
- 梦幻西游生日快乐区怎么样
- 玩DNF组队会卡屏怎么回事 dnf故意卡屏方法
- 天谕流光加点2021端游 天谕流光怎么加点
- 笔记本关机后开不了机怎么回事儿 笔记本电脑开不了机解决方法
- 写自己的小伙伴的作文怎么写 写小伙伴的作文怎么写
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
