Switching file system from private to public makes all inline image paths broken I built a site with private file system initially, but now want to switch to public so that I can use performance enhancements like css and js minification as they are not available for private file systems.

The problem is that switching to public changes the file path and breaks all the inline image paths. Any ideas how to do this properly?

Just as an example, with private file system paths show as
mysite.com/system/files/myfile.jpg
this is what was stored by the body field for inline images. These change to
mysite.com/sites/default..../myfile.jpg
There's no miracle for that, you've to replace all path in the database. Fortunately MySQL has a replace function that will be useful for you.

First, you've to find every table/field that can contain inline image, if you're using Drupal 6, you'll look at node and node_revision for Drupal 7 it's more something like field_data_body and field_revision_body.

And finally you have to apply this query (for Drupal 7)

UPDATE field_data_body SET body_value = REPLACE(body_value, 'system/files/', 'files/');


Perhaps you should customize a query a little, but the main idea is there.