Blog

Curt Gratz

May 28, 2010

Spread the word


Share your thoughts

Today I was getting ready to send a file from my app to the browser for the user to download.  I was all set to use cfcontent to do this, but knowing ColdBox I thought I would do a quick check to see if the framework had any nice convenience methods for me to use to make life easier and sure enough... sendFile() in the core Utilities plugin.

getPlugin("Utilities").sendFile(file="test.txt");

So, this post is just a quick word of advice.  Don't reinvent the wheel.  If you are doing something, anything common, check the docs and see if ColdBox can do it for you.  You will be amazed at whats available in the core plugin set already for you to use.  

Plug it In

Plug IT IN

Here are just a few I use commonly.

ORMService - generic ORM Service helper for Hibernate
QueryHelper - all sorts of goodies in here, sorting queries is one of my favorite. Or the querySim.
Validator - all sorts of standard validation methods here. checkEmail and checkIPAddress are my favorites.
FileUtils - This is a utilities library that are file related. Lots of fun methods here.
Utilities - A good mix of a variety of handy methods, like todays gem sendFile()

 

Add Your Comment

(5)

May 28, 2010 15:44:19 UTC

by Tony Nelson

I wonder why sendFile() is inside Utilities and not FileUtils.

May 29, 2010 22:02:18 UTC

by Luis Majano

We are still refactoring our utilities so soon they should all be in the correct locations

May 30, 2010 05:43:03 UTC

by Sana

FileUtils Plugin already have sendFile method in ColdBox 3.0 M5.

Mar 18, 2011 13:41:47 UTC

by Alexadra

Hello, Do you have an example where I can see how to use getPlugin(Utilities).sendFile(file=test.txt).

Mar 18, 2011 16:32:50 UTC

by Curt Gratz

Alexadra,

That is all there is to it, just call the getPlugin(Utilities).sendFile(file=test.txt). The test.text can be change to a relative path to any file you which to send to the users browser for download.

One thing to note though is that this was refactored in to the fileUtils plugin.

getPlugin(FileUtils).sendFile(file=test.txt);

Thanks, Curt

Recent Entries

🚀 ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App

🚀 ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App

ColdBox CLI 8.11 is here, and it's one of the most significant releases we've shipped for AI-assisted development. This release wires the CLI directly into our brand new public skills directory at skills.boxlang.io, brings our AI tooling in line with industry-wide agent conventions, and introduces a wave of quality-of-life improvements that make AI integration feel less like setup and more like infrastructure.

Luis Majano
Luis Majano
April 30, 2026
🛰️ Introducing cbMCP — Your ColdBox App, Live to Every AI Agent

🛰️ Introducing cbMCP — Your ColdBox App, Live to Every AI Agent

Today we're releasing cbMCP, the official ColdBox MCP Server — a BoxLang-only module that turns your running ColdBox application into a fully-compliant Model Context Protocol (MCP) server. Plug in any MCP-capable AI client — Claude Desktop, VS Code Copilot, Cursor, Codex, Gemini CLI, OpenCode — and your AI assistant gets live, read-only introspection across the entire ColdBox platform: routing, handlers, modules, WireBox, CacheBox, LogBox, schedulers, interceptors, and async executors. 🎯

Luis Majano
Luis Majano
April 30, 2026