业务梳理(二)

2021-05-08  本文已影响0人  戈壁堂

边干边学

本地文件上传移植后工作正常(不再维护的SDK还是可以正常工作——具体的原理后续再研究)。

仿现有逻辑(添加URL前缀作为分类;定义处理请求的方法)添加上传文件的API接口——

func InitRouter(router *mux.Router) {
    poolRoute := router.PathPrefix("/pool").Subrouter()
    poolRoute.UseEncodedPath()

    poolRoute.HandleFunc("/file/upload", UploadFile)
}

[上传文件获取方式](// https://tutorialedge.net/golang/go-file-upload-tutorial/),对比起来Java看起来是简单不少

#获取form文件
file, handler, err := r.FormFile("file")

#获取参数列表
vars := mux.Vars(r)

查看对象类型(另外这个站点有很多有用的基础信息)

本身的上传接口设计是“充分”的:本地文件上传,利用反射处理为string格式;如果是字节流,相当于slice类型(一开始传递的参数错误:将multipart.File对象直接传递进去,被认为是struct类型)

时间戳作为字符串——

func nowAsString() string {
    // .000将保留末尾的0值;.999将忽略末尾的0值
    now := time.Now().Format("2006-01-02 15:04:05.000")
    // 两个一组,使用后者替换前者
    replacer := strings.NewReplacer("-", "", ":", "", ".", "", " ", "")
    return replacer.Replace(now)
}
上一篇下一篇

猜你喜欢

热点阅读