Go实战云存储(二) - 原型设计

0 相关源码

1 架构说明

服务架构图

coding

  • 新建项目目录filestore-server
  • 新建handler目录,并在其下新建handler.go文件

    handler.go
  • 新建static/view目录,并在其下新建index.html界面


  • 新建main.go文件

    main.go
  • 启动main函数,并访问


    http://localhost:8080/file/upload

接下来,让我们开始接口的实际开发吧!

2 实现上传接口

实现处理接口

handler.go

main.go增加路由
  • 上传文件


  • 上传成功响应


  • 查看本地文件,确认上传完毕!


3 保存文件元信息

  • 新建util包并新建util.go工具类


  • 新建meta/filemeta类存储文件元信息


  • 修改handler.go文件


文件上传小结

  • 获取上传页面
  • 选取本地文件, form形式,上传文件
  • 云端接收文件流,写入本地存储
  • 云端更新文件元信息集合

4 实现单文件元信息查询

  • 查询接口实现


  • 添加路由


5 实现文件下载

  • 下载接口实现


  • 添加路由规则


  • 调用下载服务接口


  • 浏览器弹出下载窗口



    完美~

6 实现文件修改及删除接口

  • 修改文件接口实现


  • 删除文件接口实现


  • 添加路由规则


  • 重命名接口测试


    http://localhost:8080/file/update?op=0&filehash=d5e419168b804c11d2f938b67fb36bfd82b6fb5c&filename=111.png
  • 成功响应



  • 删除文件接口测试且成功


7 小结

服务架构

一个基本能用的文件上传服务

基本功能接口

  • 上传
  • 下载
  • 查询
  • 删除

逻辑代码show

代码实操及功能流程展示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JAVA面试题 1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 ...
    JA尐白阅读 1,181评论 1 0
  • 一. Java基础部分.................................................
    wy_sure阅读 3,833评论 0 11
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 引言 Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支...
    一缕殇流化隐半边冰霜阅读 33,532评论 11 90
  • 我感觉每天记得都是流水账,好像没有什么意思。 要不开始写秦忆的故事吧。 那天的阳光很明媚,十分钟休息时间,女生们围...
    小_富_贵阅读 83评论 0 0