46 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								package file_store
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import "fmt"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type OXS struct {
							 | 
						||
| 
								 | 
							
									// Endpoint 访问域名
							 | 
						||
| 
								 | 
							
									Endpoint string
							 | 
						||
| 
								 | 
							
									// AccessKeyID AK
							 | 
						||
| 
								 | 
							
									AccessKeyID string
							 | 
						||
| 
								 | 
							
									// AccessKeySecret AKS
							 | 
						||
| 
								 | 
							
									AccessKeySecret string
							 | 
						||
| 
								 | 
							
									// BucketName 桶名称
							 | 
						||
| 
								 | 
							
									BucketName string
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Setup 配置文件存储driver
							 | 
						||
| 
								 | 
							
								func (e *OXS) Setup(driver DriverType, options ...ClientOption) FileStoreType {
							 | 
						||
| 
								 | 
							
									fileStoreType := driver
							 | 
						||
| 
								 | 
							
									var fileStore FileStoreType
							 | 
						||
| 
								 | 
							
									switch fileStoreType {
							 | 
						||
| 
								 | 
							
									case AliYunOSS:
							 | 
						||
| 
								 | 
							
										fileStore = new(ALiYunOSS)
							 | 
						||
| 
								 | 
							
										err := fileStore.Setup(e.Endpoint, e.AccessKeyID, e.AccessKeySecret, e.BucketName)
							 | 
						||
| 
								 | 
							
										if err != nil {
							 | 
						||
| 
								 | 
							
											fmt.Println(err)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return fileStore
							 | 
						||
| 
								 | 
							
									case HuaweiOBS:
							 | 
						||
| 
								 | 
							
										fileStore = new(HuaWeiOBS)
							 | 
						||
| 
								 | 
							
										err := fileStore.Setup(e.Endpoint, e.AccessKeyID, e.AccessKeySecret, e.BucketName)
							 | 
						||
| 
								 | 
							
										if err != nil {
							 | 
						||
| 
								 | 
							
											fmt.Println(err)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return fileStore
							 | 
						||
| 
								 | 
							
									case QiNiuKodo:
							 | 
						||
| 
								 | 
							
										fileStore = new(QiNiuKODO)
							 | 
						||
| 
								 | 
							
										err := fileStore.Setup(e.Endpoint, e.AccessKeyID, e.AccessKeySecret, e.BucketName)
							 | 
						||
| 
								 | 
							
										if err != nil {
							 | 
						||
| 
								 | 
							
											fmt.Println(err)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return fileStore
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return nil
							 | 
						||
| 
								 | 
							
								}
							 |