code: func (d *driver) Stat(ctx context.Context, path string) (storagedriver.FileInfo, error) {
  	listResponse, err := d.Bucket.List(d.ossPath(path), "", "", 1)
  	if err != nil {
  		return nil, err
  	}
  
  	fi := storagedriver.FileInfoFields{
  		Path: path,
  	}
  
  	if len(listResponse.Contents) == 1 {
  		if listResponse.Contents[0].Key != d.ossPath(path) {
  			fi.IsDir = true
  		} else {
  			fi.IsDir = false
  			fi.Size = listResponse.Contents[0].Size
  
  			timestamp, err := time.Parse(time.RFC3339Nano, listResponse.Contents[0].LastModified)
  			if err != nil {
  				return nil, err
  			}
  			fi.ModTime = timestamp
  		}
  	} else if len(listResponse.CommonPrefixes) == 1 {
  		fi.IsDir = true
  	} else {
  		return nil, storagedriver.PathNotFoundError{Path: path}
  	}
  
  	return storagedriver.FileInfoInternal{FileInfoFields: fi}, nil
  }
docs: // Stat retrieves the FileInfo for the given path, including the current size
  // in bytes and the creation time.