func (this ImageRequest) getStorageBySource(path string, isSource bool) (Storage, util.Error) { path = strings.Replace(path, "/", "\\", -1) var ( storagePath string storageType string ) var storage Storage if isNewUri(path) { imagename := util.Substr(path, 1, NEWIMAGENAMELENGTH) imgIndex := models.ImageIndex{Cat: this.Cat} if e := imgIndex.Parse(imagename); e.Err != nil { return nil, e } storagePath = imgIndex.StoragePath storageType = imgIndex.StorageType storage = CreateStorage(storagePath, storageType, this.Cat) if storage == nil { util.LogErrorEvent(this.Cat, ERRORTYPE_STORAGETYPENOSUPPORTE, util.JoinString("Can't supporte storagetype[", storageType, "]")) return nil, util.Error{IsNormal: false, Err: errors.New(util.JoinString("Can't supporte storagetype[", storageType, "]")), Type: ERRORTYPE_STORAGETYPENOSUPPORTE} } } else { storageType = STORAGETYPE_NFS if isFdfs(path) { storageType = STORAGETYPE_FDFS } storage = CreateStorage(path, storageType, this.Cat) if e := storage.ConvertFilePath(isSource); e.Err != nil { return nil, e } } return storage, util.Error{} }
// @router /image/delete/:uri [get] func (c *ImageDeleteController) Get() { var ( st string sp string ) uri := c.GetString(":uri") var ii models.ImageIndex = models.ImageIndex{} err := ii.Parse(uri) if err.Type != "" { return } st, sp = ii.StorageType, ii.StoragePath if st == EmptyString || sp == EmptyString { return } switch st { case "fdfs": case "nfs": default: //ErrIllegalStorageType return } println("delete record from MySQL") }