AlistGo/alist · error

failed to copy file: %w

Error message

failed to copy file: %w

What it means

Error "failed to copy file: %w" thrown in AlistGo/alist.

Source

Thrown at drivers/azure_blob/util.go:320

				return fmt.Errorf("failed to create directory [%s]: %w", dstPath, err)
			}
		}

		// Delete source directory and its contents
		if err := d.deleteFolder(ctx, srcPath); err != nil {
			log.Warnf("failed to delete source directory [%s]: %v\n, and try again", srcPath, err)
			// Retry deletion once more and ignore the result
			if err := d.deleteFolder(ctx, srcPath); err != nil {
				log.Errorf("Retry deletion of source directory [%s] failed: %v", srcPath, err)
			}
		}

		return nil
	}

	// Single file move or rename operation
	if err := d.copyFile(ctx, srcPath, dstPath); err != nil {
		return fmt.Errorf("failed to copy file: %w", err)
	}

	// Delete source file after successful copy
	if err := d.deleteFile(ctx, srcPath, false); err != nil {
		log.Errorf("Error deleting source file [%s]: %v", srcPath, err)
	}
	return nil
}

// optimizedUploadOptions returns the optimal upload options based on file size
func optimizedUploadOptions(fileSize int64) *azblob.UploadStreamOptions {
	options := &azblob.UploadStreamOptions{
		BlockSize:   4 * 1024 * 1024, // 4MB block size
		Concurrency: 4,               // Default concurrency
	}

	// For large files, increase block size and concurrency
	if fileSize > 256*1024*1024 { // For files larger than 256MB

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Inspect the underlying error details in the message, fix the indicated cause (credentials, network, or provider-side failure), and retry.

When it happens

Trigger: Thrown at drivers/azure_blob/util.go:320 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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