Skip to main content
Participant
March 21, 2018
Question

Coldfusion File uploading

  • March 21, 2018
  • 1 reply
  • 474 views

I get the following error when trying to upload a Word doc with my CF based api.  This is not a MIME type I recognize for Word docs, so an error gets thrown by my code.

 

File type(application/x-tika-ooxml) is not supported.

 

This happens only for all Microsoft Office files. I believe it has something to do with CF's fileGetMimeType() function. Below is my code for uploading. Any thoughts on why I'm getting the above mime type, and if there is a way around it? I'm running CF2016(adobe 2016.0.05+303689). I'm using the CFWheels framework, but this has occurred with bare CF too. It is running off CF's built in web server.

 

 

  public function uploadFile(

 

   required file,

   required string filename

  ) {

   var myMimeType = fileGetMimeType(file);

   var isValidMime = false;

   var myExt = "";

   var targetPath = ExpandPath( "./" ) & '/files/bin/' & filename;


   for (var ext in application.wheels.mimetypes) {

   if (application.wheels.mimetypes["#ext#"] EQ myMimeType) {

   myExt = lCase(ext);

   isValidMime = true;

   break;

   }

   }


   if (isValidMime AND myExt NEQ "") {

   targetPath = targetPath & '.' & myExt;

   try {

   var result = fileUpload(targetPath, "file", myMimeType, "overwrite");


   if (!result.fileWasSaved) {

   throw ("Server failed to save the target file. Please contact a site admin.");

   }

   else {

   writelog("File Uploaded @ " & targetPath);

   }

   } catch (any e) {

   handleException(e);

   throw(

  message=e.message,

  errorcode=500

   );

   }

   }

   else {

   throw(

  message="File type(#myMimeType#) is not supported.",

  errorcode=400

   );

   }

  }

 

This topic has been closed for replies.

1 reply

Community Expert
March 21, 2018

I'm not sure why you're getting different MIME types than the normal ones, but I suggest you simply add all of the ones shown here:

[Tika-user] Problem detecting Microsoft Office formats from InputStream - Grokbase

Dave Watts, Fig Leaf Software

Dave Watts, Eidolon LLC