[eluser]fuchong[/eluser]
From what I've noticed is that depending on the browser you can get different mime types for the same type of file extension - I don't know the specifics, only that I've noticed it.
To fix upload mime issues you can use the upload classes data function to print out the mime type of the file you're attempting to upload.
Code:
echo '<pre>';
var_dump($this->upload->data());
Out of this you'll see the file_type index which is the mime type of the rtf file in the browser you're using.
Once you know you're mime type add it to you're config/mimes.php file. My rtf mime extensions for one of my applications is this:
Code:
'rtf' => array('application/msword', 'text/rtf')