I find myself publishing files pretty often using Ubuntu One. In fact my ~/Public folder is now filled with published files so I usually put the file to ~/Public folder, wait for it to upload, request publishing and then get the URL.
The better approach would have been to publish the files automatically but this functionality is not present in the client. Fortunately, Ubuntu One syncdaemon provides a nice DBus interface, so this is extremely easy to program so I decided to go ahead and implement such a service.
Setting up automatic publishing
Download the script from Ubuntu One or branch the bzr tree using bzr branch lp:~rye/+junk/ubuntuone-scripts.
Put the script to some well-known directory and add it to Startup Applications:
Set the command to the path of the script and add the directory which will be used for public files. In my case that is:
After the file is put to this directory, it is uploaded to Ubuntu One online storage and marked as published you will receive a notification:
If you decide that you no longer need the file to be published but you might need it in the future you can stop publishing it using nautilus plugin and you will receive a notification as well:
You will still need to use nautilus plugin to get URL for that file.