code: func (d *driver) Writer(ctx context.Context, path string, append bool) (storagedriver.FileWriter, error) {
  	key := d.ossPath(path)
  	if !append {
  		// TODO (brianbland): cancel other uploads at this path
  		multi, err := d.Bucket.InitMulti(key, d.getContentType(), getPermissions(), d.getOptions())
  		if err != nil {
  			return nil, err
  		}
  		return d.newWriter(key, multi, nil), nil
  	}
  	multis, _, err := d.Bucket.ListMulti(key, "")
  	if err != nil {
  		return nil, parseError(path, err)
  	}
  	for _, multi := range multis {
  		if key != multi.Key {
  			continue
  		}
  		parts, err := multi.ListParts()
  		if err != nil {
  			return nil, parseError(path, err)
  		}
  		var multiSize int64
  		for _, part := range parts {
  			multiSize += part.Size
  		}
  		return d.newWriter(key, multi, parts), nil
  	}
  	return nil, storagedriver.PathNotFoundError{Path: path}
  }
docs: // Writer returns a FileWriter which will store the content written to it
  // at the location designated by "path" after the call to Commit.