|  |  |  | @ -1,4 +1,5 @@ | 
			
		
	
		
			
				
					|  |  |  |  | using System.Globalization; | 
			
		
	
		
			
				
					|  |  |  |  | using System; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Globalization; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Text.RegularExpressions; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.DependencyInjection; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Localization; | 
			
		
	
	
		
			
				
					|  |  |  | @ -17,17 +18,28 @@ namespace Volo.Abp.BlobStoring.Minio | 
			
		
	
		
			
				
					|  |  |  |  |                 // All letters in a container name must be lowercase. | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = containerName.ToLower(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 // Container names can contain only letters, numbers, and the dash (-) character. | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "[^a-z0-9-]", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 // Container names must be from 3 through 63 characters long. | 
			
		
	
		
			
				
					|  |  |  |  |                 if (containerName.Length > 63) | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     containerName = containerName.Substring(0, 63); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 // Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-). | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "[^a-z0-9-.]", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 // Every dash (-) character must be immediately preceded and followed by a letter or number; | 
			
		
	
		
			
				
					|  |  |  |  |                 // consecutive dashes are not permitted in container names. | 
			
		
	
		
			
				
					|  |  |  |  |                 // Container names must start or end with a letter or number | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "-{2,}", "-"); | 
			
		
	
		
			
				
					|  |  |  |  |                 // Bucket names must begin and end with a letter or number. | 
			
		
	
		
			
				
					|  |  |  |  |                 // Bucket names must not be formatted as an IP address (for example, 192.168.5.4). | 
			
		
	
		
			
				
					|  |  |  |  |                 // Bucket names can't start or end with hyphens adjacent to period | 
			
		
	
		
			
				
					|  |  |  |  |                 // Bucket names can't start or end with dots adjacent to period | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "\\.{2,}", "."); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "-\\.", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "\\.-", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "^-", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "-$", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "^\\.", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "\\.$", string.Empty); | 
			
		
	
		
			
				
					|  |  |  |  |                 containerName = Regex.Replace(containerName, "^(?:(?:^|\\.)(?:2(?:5[0-5]|[0-4]\\d)|1?\\d?\\d)){4}$", String.Empty); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 // Container names must be from 3 through 63 characters long. | 
			
		
	
		
			
				
					|  |  |  |  |                 if (containerName.Length < 3) | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     var length = containerName.Length; | 
			
		
	
	
		
			
				
					|  |  |  | @ -37,11 +49,6 @@ namespace Volo.Abp.BlobStoring.Minio | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if (containerName.Length > 63) | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     containerName = containerName.Substring(0, 63); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 return containerName; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |