<cfscript>

	permPath = expandPath( "./image.jpg" );
	tempPath = expandPath( "./temp.jpg" );

	// Here, we are going to copy the binary file to a temp location for purposes that
	// are beyond the scope of this exploration. But, notice that after we copy the PERM
	// file, we read it in as a ColdFusion image object and then delete the TEMP file.

	fileCopy( permPath, tempPath );

	image = imageRead( tempPath );

	fileDelete( tempPath );

	// After we delete the underlying TEMP file, we are still able to access most
	// properties of the image object, such as its pixel data and its dimensions.
	width = imageGetWidth( image );
	height = imageGetHeight( image );
	writeOutput( "Dimensions: #width# x #height#." );

	// BUT, an attempt to read the EXIF data from an image object with no physical
	// file backing, results in a ColdFusion error.
	writeDump( imageGetEXIFMetadata( image ) );

</cfscript>