Explorar el Código

添加查看 元数据 文件名和扩展名

wangbo hace 1 mes
padre
commit
63c1eb85a4
Se han modificado 3 ficheros con 86 adiciones y 34 borrados
  1. 38 34
      osm_sdk.go
  2. 35 0
      request.go
  3. 13 0
      response.go

+ 38 - 34
osm_sdk.go

@@ -21,40 +21,6 @@ var name string
 var baseUrl string
 var httpClient *http_client.Client
 
-type (
-	ConfigKey struct {
-		Namespace string `json:"namespace" form:"namespace" binding:"required"`
-		Name      string `json:"name" form:"name" binding:"required"`
-	}
-
-	DeleteMultiObjJsonBody struct {
-		ConfigKey
-		ObjNames []string `json:"objNames" binding:"required"`
-		Prefix   string   `json:"prefix"`
-	}
-	CopyJsonBody struct {
-		ConfigKey
-		SrcObjName   string   `json:"srcObjName" binding:"required"`
-		DstObjName   string   `json:"dstObjName" binding:"required"`
-		RequireInfos []string `json:"requireInfos"`
-		Prefix       string   `json:"prefix"`
-	}
-	MoveJsonBody struct {
-		ConfigKey
-		SrcObjName   string   `json:"srcObjName" binding:"required"`
-		DstObjName   string   `json:"dstObjName" binding:"required"`
-		RequireInfos []string `json:"requireInfos"`
-		Prefix       string   `json:"prefix"`
-	}
-	ZoomUrlJsonBody struct {
-		ConfigKey
-		ObjName      string   `json:"srcObjName" binding:"required"`
-		Process      string   `json:"dstObjName" binding:"required"`
-		RequireInfos []string `json:"requireInfos"`
-		Prefix       string   `json:"prefix"`
-	}
-)
-
 func Destroy() {
 	if httpClient == nil {
 		return
@@ -514,6 +480,44 @@ func createImage(reader io.Reader, objName string) (string, error) {
 	return resp.Info, nil
 }
 
+func GetUrlWithMetaData(objName string) (string, error) {
+	return getUrl(objName)
+}
+
+func GetUrlUrlWithMetaDataWithPrefix(objName string) (string, error) {
+	return getUrl(prefix + objName)
+}
+
+func getUrlWithMetaData(objName string) (UrlWithMetaData, error) {
+	var errResponse UrlWithMetaData
+	if strutils.IsStringEmpty(objName) {
+		return errResponse, nil
+	}
+
+	getResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
+		Get(baseUrl+"/operation/url/metaData/get",
+			http_client.WithRequestQueryParams(map[string]string{
+				"namespace": namespace,
+				"name":      name,
+				"objName":   objName,
+			}))
+	if err != nil {
+		return errResponse, err
+	}
+
+	resp := new(response.InfoResponse[UrlWithMetaData])
+	err = getResponse.Json(resp)
+	if err != nil {
+		return errResponse, err
+	}
+
+	if !resp.Success {
+		return errResponse, errors.New(resp.Msg)
+	}
+
+	return resp.Info, nil
+}
+
 //func Cp(f, t string) error {
 //	return CpOrigin(prefix+f, prefix+t)
 //}

+ 35 - 0
request.go

@@ -0,0 +1,35 @@
+package osm_sdk
+
+type (
+	ConfigKey struct {
+		Namespace string `json:"namespace" form:"namespace" binding:"required"`
+		Name      string `json:"name" form:"name" binding:"required"`
+	}
+
+	DeleteMultiObjJsonBody struct {
+		ConfigKey
+		ObjNames []string `json:"objNames" binding:"required"`
+		Prefix   string   `json:"prefix"`
+	}
+	CopyJsonBody struct {
+		ConfigKey
+		SrcObjName   string   `json:"srcObjName" binding:"required"`
+		DstObjName   string   `json:"dstObjName" binding:"required"`
+		RequireInfos []string `json:"requireInfos"`
+		Prefix       string   `json:"prefix"`
+	}
+	MoveJsonBody struct {
+		ConfigKey
+		SrcObjName   string   `json:"srcObjName" binding:"required"`
+		DstObjName   string   `json:"dstObjName" binding:"required"`
+		RequireInfos []string `json:"requireInfos"`
+		Prefix       string   `json:"prefix"`
+	}
+	ZoomUrlJsonBody struct {
+		ConfigKey
+		ObjName      string   `json:"srcObjName" binding:"required"`
+		Process      string   `json:"dstObjName" binding:"required"`
+		RequireInfos []string `json:"requireInfos"`
+		Prefix       string   `json:"prefix"`
+	}
+)

+ 13 - 0
response.go

@@ -0,0 +1,13 @@
+package osm_sdk
+
+type (
+	MetaData struct {
+		FileName string `json:"fileName"`
+		FileType string `json:"fileType"`
+	}
+
+	UrlWithMetaData struct {
+		Url string `json:"url"`
+		MetaData
+	}
+)