0

I'm having trouble trying to upload an InDesign file to my EE site. I've added the following to the system/expressionengine/config/mimes.php file application/x-indesign however upon uploading the file I'm shown an error message:

File not allowed.

Does anyone know a way around this? I've successfully added a photoshop file to the mime list and that works perfectly fine.

Here's a small slice of the mime $whitelist array

'application/x-dvi', // .dvi
'application/x-gtar', // .gtar
'application/x-gzip', // .gz
'application/x-indesign', // .indd
'application/x-photoshop', // .psd
'application/x-rar-compressed', // .rar
'application/x-stuffit', // .sit

Thank you.

Edit:

EE Version 2.10.1

1 Answer 1

1

What version of EE are you using? Modern (2+) use an array to identify mime type allowances. In my version I'm looking at (2.9.2), it looks like this:

$mimes = array(
                'ai'    =>  'application/postscript',
                'aif'   =>  'audio/x-aiff',
                'aifc'  =>  'audio/x-aiff',
                'aiff'  =>  'audio/x-aiff',
                'avi'   =>  'video/x-msvideo',
                'bin'   =>  'application/macbinary',
                'bmp'   =>  'image/bmp',
                 ... and so on ...
);

So you'd want to add this:

                'indd'  =>  'application/octet-stream',        

OR

                'indd'  =>  'application/x-indesign',        

OR

                'indd'  =>  'application/x-adobe-indesign',        

OR to be safe

                'indd'  =>  array('application/octet-stream',        
                                  'application/x-indesign',        
                                  'application/x-adobe-indesign'),        

You'll have to try them all, the internet is reporting a few different things and it's quicker to just test these variants and see what works.

So I'm not sure what version you are running, but that appears to be a malformed mime type array (verified to be this format as far back as 2.5.5).

Edit

As Kieran McClung mentioned, EllisLab has switched to a new mimetype detection library for 2.10+. At this point, we now have a $whitelist flat array instead of a $mimes array that can have a second layer of depth. I'm pretty sure adding

'application/octet-stream'

was the fix, although Keiran said all three were needed, which would have resulted in a $whitelist array that looked like this

$whitelist = array(
    'application/csv', // .csv
    'application/epub+zip', // .epub
    'application/excel', // .csv, .xl, .xls
    'application/mac-binhex40', // .hqx
    ... and so on ...
    'application/octet-stream', // .indd
    'application/x-indesign', // .indd
    'application/x-adobe-indesign', // .indd
);

And that got things whipped into shape!

5
  • Sorry, I completely forgot to mention my EE version. The $mimes array you put above certainly looks more robust however it's causing issues for me. I've downloaded a fresh copy of EE 2.10.1 and it contains the $whitelist array with the layout as seen in my original question, however an older download (2.9.2) contains the $mimes array you've put above. I tried adding application/x-adobe-indesign and even copying the $mimes array in it's entirety but unfortunately it's not worked. Jun 23, 2015 at 14:22
  • I needed all three mime types as you stated however it seems from 2.10.1 onwards EllisLab are using a new way of checking file types: ellislab.com/blog/entry/fileinfo-in-2-10-0 Jun 23, 2015 at 14:30
  • I see that, is your issue resolved? If so I'll edit my question to adapt for the change in EE 2.10.1. I've played around with it, but it's still a little too new for me to dump into production anywhere. Yeah, I just took a peak at an install and they switched it up.
    – jrothafer
    Jun 23, 2015 at 14:33
  • Yeah sorry, If you just add the bit about 2.10.1 I'll mark as accepted. Thanks a lot for your help :) Jun 23, 2015 at 14:49
  • No problem! I added the edits. Glad to help.
    – jrothafer
    Jun 23, 2015 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.