AlistGo/alist · warning

dir name is empty

Error message

dir name is empty

What it means

GuangYaPan MakeDir trims the requested directory name and rejects empty strings before calling the remote API. This is a client-side validation guard so the provider is never asked to create a nameless folder.

Source

Thrown at drivers/guangyapan/driver.go:248

	url := strings.TrimSpace(resp.Data.SignedURL)
	if url == "" {
		url = strings.TrimSpace(resp.Data.DownloadURL)
	}
	if url == "" {
		return nil, errors.New("empty download url")
	}
	return &model.Link{URL: url}, nil
}

func (d *GuangYaPan) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
	if err := d.ensureAccessToken(ctx); err != nil {
		return err
	}

	name := strings.TrimSpace(dirName)
	if name == "" {
		return errors.New("dir name is empty")
	}

	parentID := parentDir.GetID()

	var out createDirResp
	if err := d.postAPI(ctx, "/nd.bizuserres.s/v1/file/create_dir", map[string]any{
		"parentId": parentID,
		"dirName":  name,
	}, &out); err != nil {
		return err
	}
	if !strings.EqualFold(strings.TrimSpace(out.Msg), "success") {
		return fmt.Errorf("make dir failed: %s", strings.TrimSpace(out.Msg))
	}
	return nil
}

func (d *GuangYaPan) Rename(ctx context.Context, srcObj model.Obj, newName string) error {

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Validate/require a non-empty folder name in the calling UI before submitting
  2. Trim input client-side and reject blank names with a user-facing message
  3. If scripting, assert name != "" before invoking MakeDir

Example fix

// before
err := fs.MakeDir(ctx, "/gy/", " ")
// after
name := strings.TrimSpace(input)
if name == "" { return errors.New("folder name required") }
err := fs.MakeDir(ctx, "/gy/", name)
Defensive patterns

Strategy: validation

Validate before calling

name := strings.TrimSpace(dirName)
if name == "" {
	return errors.New("folder name is required")
}
return d.MakeDir(ctx, parentDir, name)

Type guard

func validDirName(s string) bool { return strings.TrimSpace(s) != "" }

Prevention

When it happens

Trigger: Calling MakeDir with a name consisting only of whitespace, or with an empty string — e.g. UI transmitted the form before the user typed a name, or upstream code passed an unvalidated variable.

Common situations: Front-end form submitted empty; programmatic mkdir where the name variable was never populated; names made only of spaces pasted by accident.

Related errors


AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15). Data as JSON: /api/errors/aba32c28557066db. Report an issue: GitHub.