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
- Validate/require a non-empty folder name in the calling UI before submitting
- Trim input client-side and reject blank names with a user-facing message
- 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
- Require non-empty names in upload/mkdir forms client-side
- Trim user input before submission
- Disable submit buttons until required fields are filled
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
- file id is empty
- new name is empty
- offline url is empty
- login failed: provide a valid access_token, or refresh_token
- empty download url
AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15).
Data as JSON: /api/errors/aba32c28557066db.
Report an issue: GitHub.