I recently ran into an issue with one of my clients who have an integreation between one of their custom entities and a SharePoint document library. The integration is pretty basic: for each record that is created in this new entity, we create a folder in SharePoint to store the documents related to the record. We expose the SharePoint folder in CRM via a simple IFRAME.


The integration has been working wonderfully–up until a few days ago when I got word that when the client attempted to open some of their documents, they were greeted with an Error 404: File Not Found.

This was a confusing issue: I could see the file that wouldn’t open in the IFRAME and I could see it in SharePoint Explorer. I was also able to see the file that would not open when opening the folder in SharePoint via Windows Explorer. Obstentisbly, nothing appeared to be wrong: the file had a size and the file name AND folder name did not include any of the fobidden special characters: : / : * ? < > | ” # { } % & ~

What could it be? Why can’t this file be opened? The likely culprit was a corrupt file, but it seemed odd that these corrupted files had a size, as most corrupt files I have seen have a 0KB size. The real cause of the issue soon revealed itself to me.

Through a ton of Trial-and-Error I was able to determine that the real cause of the issue was that there was a ‘+’ in the file name (i.e: a file named A+B.pdf).

While Windows allows you to name a file with a plus sign (+), SharePoint bugs out when trying to open the file.

The cause is this:

I can open a file locally on my PC called A+B.pdf.

However, when I open a file on SHarePoint, I am actually opening it from http://mysharepointsite.com/A+B.pdf The PLUS sign in the URL is the real culprit here. Plus signs in a URL are a No-No.

I was able to fix this issue by replacing any files with a (+) in their name with dashes (-).  Once the offending plus signs were removed the file opened as normal! A simple solution to a seemingly complex problem!

Avatar for Joe D365

Joe D365

Joe D365 is a Microsoft Dynamics 365 superhero who runs on pure Dynamics adrenaline. As the face of PowerObjects, Joe D365’s mission is to reveal innovative ways to use Dynamics 365 and bring the application to more businesses and organizations around the world.