コード例 #1
0
ファイル: request.go プロジェクト: chenbk85/nephele
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{}
}
コード例 #2
0
// @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")
}