基于Three.js-3DGS三维重建web网站——Django后端

项目效果

image
点击其中一个三维模型,进行三维可视化重建与查看
image

后端架构

1、后端模拟三级服务器
后端web服务器负责接收与处理前端请求,并将用户上传图片/视频保存至文件存储服务器,3dgs模型服务器负责训练模型,三组服务器通过数据库轮询方式实现互联。
image
image

2、web服务器
上传视频与图片:通过取消csrf保护,使post请求能够顺利发送到后端。
image
查询模型信息:使用Orm取代SQL语句,并构建Json返回结果。
image
image

3、文件存储服务器
对于每次上传的文件,使用uuid进行唯一命名。
image
使用osFileSystemStorage进行目录创建与文件存储
image
图片/视频存储与数据库操作
image

4、3dgs建模服务器
通过数据库连接与轮询数据库实现建模,具体逻辑如下:

【启动服务】
1、从数据库读取数据,并取首个flag=0(即未建模)的数据
2、依照表中视频/图片存储位置读取数据进行建模
3、将结果输出到output文件夹,并置flag=1,同时写入模型输出路径
4、重复以上操作
【关闭服务】

难点处理

1、跨域请求处理

问题描述
直接在前端axios请求中访问后端端口:

会出现跨域问题

跨域的知识:

1.后端处理方案:(基于django-cors-headers处理跨域)

成功请求结果:

这样成功处理了上传文件的跨域请求


但是前端查看图片时候又出现了bug
image

前端的特殊性——
可视化组件在设置中设置了这个-
image
如果注释掉的话图片就能正常显示,但是viewer渲染器就无法使用


2.前端处理方案:(针对img)
添加 crossorigin='anonymous'允许跨域
image
图片正常显示
image

2、前端访问后端资源文件

setting.py设置资源文件存储路径MEDIA_ROOT

配置请求资源路径

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值