The only way to prevent the file being downloaded is to not make it publicly available via the internet. Once it has been viewed, it has been downloaded. As for protecting it from being decompiled, I don't have much to offer in that aspect.
There is no way to protect your content, that's true.
What most people don't know is that when your website loads into the web browser, it gets downloaded onto the computer (into cache memory) so it is already on someone's computer....
That's why after browsing through flash website even after disconnecting from the internet you can still see this content because it is cached into your web browser's memory.