There appears to be a problem with my users.

They keep uploading files, which create non rfc3986 compliant URI. I publicly shame them, but they keep doing it. It seems to be "+" sign which breaks them. You can read more about this issue with nginx here:

http://www.stevestreeting.com/2012/05/09/apache-to-nginx-php-fpm-part-1/ (search %2B)
or here
http://forum.nginx.org/read.php?29,243561,243563

Unfortunately for me, NGINX also has a problem with these URI's and doesn't appear to pass them into Drupal "correctly". Apache and other servers are more forgiving it seems.

Here's the filename in question which gets uploaded by my silly non-rfc reading users, which doesn't get an image_style under nginx
"crowded studio + me in forarmstand.jpg" or "crowded%20studio%20%2B%20me%20in%20forarmstand.jpg?itok=P1bSpFEM"

image_style_create_derivative($style, $source, $destination) end up with the source as:
"crowded studio me in forarmstand.jpg" <- no plus.

Thus it doesn't find the file, to pass through to the image styles and it fails.

Filenames with "&" also seem to break as well
"split balance B&W.jpg" or "split%20balance%20B%26W.jpg?itok=acfyU4hC"
becomes
"split balance B"

Any help with this would be appreciated. I think this is most likely a problem with nginx and not Drupal, but I could be wrong.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

j0rd’s picture

Version: 7.22 » 7.x-dev

Core issues are now filed against the dev versions where changes will be made. Document the specific release you are using in your issue comment. More information about choosing a version.