The <i>setContent()</i> wasn't created for this behaviour actually, some datatypes do this but only internally.
Hower to remedy the problem with inserting data uniformly some new additions are being made to the eZDatatype interface.
Currently these are added:
<i>insertHTTPFile</i> - Insert an uploaded file (HTTP Post)
<i>insertRegularFile</i> - Insert a local file <i>insertSimpleString</i> - Insert a simple string
It is also possible to query if a datatype supports any of these insert methods.