123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package oss
- import (
- "app.yhyue.com/moapp/jybase/api"
- "bytes"
- "errors"
- "io/ioutil"
- "jygit.jydev.jianyu360.cn/BaseService/ossService/constant"
- "jygit.jydev.jianyu360.cn/BaseService/ossService/entity"
- "log"
- )
- // OSSService 定义了RPC服务方法
- type OSSService struct {
- }
- /* rpc方式上传
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.ObjectName 对象名称
- * @param args.Stream 文件流
- * @param args.Gzip 是否压缩
- * @param reply 返回结果
- * @param reply.Error_code 错误代码 0:成功
- * @param reply.Error_msg 错误信息
- * @return error 错误信息
- */
- func (s *OSSService) Upload(args *entity.UploadArgs, reply *api.Result) error {
- if err := s.checkArgs(&entity.Args{BucketID: args.BucketID, ObjectName: args.ObjectName}); err != nil {
- log.Println(err.Error())
- return err
- } else if args.Stream == nil || len(args.Stream) == 0 {
- err := errors.New(api.Error_msg_1002 + "Data")
- log.Println(err.Error())
- return err
- }
- log.Println("rpc方式上传文件", args.BucketID, args.ObjectName, args.Gzip, len(args.Stream))
- err := UploadAttachment(args.BucketID, args.ObjectName, ioutil.NopCloser(bytes.NewReader(args.Stream)), args.Gzip)
- if err != nil {
- log.Println(constant.UploadFail, err)
- return err
- }
- reply.Error_msg = constant.UploadSuccess
- return nil
- }
- /* rpc方式下载
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.ObjectName 对象名称
- * @param reply 返回结果
- * @param reply.Error_code 错误代码 0:成功
- * @param reply.Error_msg 错误信息
- * @return error 错误信息
- */
- func (s *OSSService) Download(args *entity.Args, reply *api.Result) error {
- if err := s.checkArgs(args); err != nil {
- log.Println(constant.UploadFail, err)
- return err
- }
- log.Println("rpc方式下载文件", args.BucketID, args.ObjectName)
- data, err := DownloadAttachment(args.BucketID, args.ObjectName)
- if err != nil {
- log.Println(constant.DownloadFail, err)
- return err
- }
- reply.Error_msg = constant.DownloadSuccess
- reply.Data = data
- return nil
- }
- /* rpc方式下载
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.ObjectName 对象名称
- * @param reply 返回结果
- * @param reply.Error_code 错误代码 0:成功
- * @param reply.Error_msg 错误信息
- * @return error 错误信息
- */
- func (s *OSSService) Delete(args *entity.Args, reply *api.Result) error {
- if err := s.checkArgs(args); err != nil {
- log.Println(constant.UploadFail, err)
- return err
- }
- log.Println("rpc方式删除文件", args.BucketID, args.ObjectName)
- err := DeleteAttachment(args.BucketID, args.ObjectName)
- if err != nil {
- log.Println(constant.DeleteFail, err)
- return err
- }
- reply.Error_msg = constant.DeleteSuccess
- return nil
- }
- func (s *OSSService) checkArgs(args *entity.Args) error {
- if args.BucketID == "" {
- return errors.New(api.Error_msg_1002 + "BucketID")
- } else if args.ObjectName == "" {
- return errors.New(api.Error_msg_1002 + "ObjectName")
- }
- return nil
- }
|