"File Type Not Allowed" when attempting to import content from Substack

Hey all,

I’m currently a potential Ghost (Pro) customer evaluating the platform. One thing I’m trying to look at is importing existing content from my current platform, Substack. Assuming I cannot use the CLI tools since I have a Windows-based OS and am going with a hosted install through Ghost, I tried the Substack importer in Labs. Unfortunately it refuses to import my content - when I get to the step to upload my zip file it says “File Type Not Allowed” - despite it being the exact file exported from Substack per the instructions. I’ve tried another browser with no addons and got the same result. Trying to use the normal importer in Labs doesn’t import any content through it does ingest the zip file.

Any help by chance? There appears to be a post from August with this issue but it never got a response.

Thanks! Not being able to import content will definitely affect my decision to move.

1 Like

So I see the exodus has begun.

Otherwise, although I currently have no insight into this, I’ll see if I have the time tomorrow to set up a faux Substack which I can then export and then try and import into Ghost. If I get around to it I’ll let you know how it goes.

EDIT: I just remembered that I know of someone who successfully manually imported a large Substack on August 15th, so I know it worked at that point.


Thanks! I appreciate it and look forward to the result. I have 3 years worth of posts, and on top of that some paid subscription, although I was able to import my membership list without issue.

I did realize I could try to install the migration CLI tools via a local node.js install, but the path for the migrate module is somehow set improperly and I’m not sure how to set it. But I also feel I shouldn’t have to futz around with that stuff if there’s a migration tool available. It’s just refusing to see my zip file as valid.

1 Like

You might try unzipping and rezipping. No promises, but sometimes that’ll resolve a problem with a zip.

1 Like

Sadly no dice there. Used WinRAR to re-zip it but it still didn’t take, though you did prompt me to check the MIME-type of my zip files since according to an inspection of the importer code the accepted file type is application/zip. My files are in this format, so it’s really bizarre that it’s not accepting it.

Hey all - so I think I figured it out, because I was able to import my posts successfully. I thought that we might have an interesting quirk because Windows OS treats zips as compressed files in part for websites, something I remember from when I was an engineer back in the day. Sure enough, there’s a Stack Overflow with a comment about this:

If the comment is true, that means that zip files uploaded from Windows are actually perceived by the importer as “application/x-zip-compressed” MIME type and not “application/zip” MIME type when sent from a Windows-based machine. This would make them invalid file types based on the inspected code on the page.

To test this theory, I just happen to have a laptop with Ubuntu installed on it. I used the importer and the zip file uploaded and imported all 234 of my posts without issue.

As a matter of feedback, I think that this might be an oversight in the Substack importer, assuming it isn’t something funky on my end. There are Windows OS users looking to migrate to Ghost and if the importer isn’t working because of this quirk, perhaps the accepted field of the input could be changed to also accept x-zip-compressed MIME types, or convert the file into application/zip prior to acceptance.

Thanks Stromfeldt and Cathy for your posts - they helped me arrive at what might be a solution and hopefully a surfacing of an issue for Ghost staff to look at once they are back from holiday.