what do you mean by publish an Image? Why do you want to use an asset bundle for an image? Your image appears to be in a web accessible directory and you shouldn’t have to publish it.
If you want to display the image in your browser you could do something like.
No, asset bundle will publish the assets listed (i.e. $js=[ js/scripts]) into the folder you choose. It doesn’t necessarily mean it’s web accessible. So in your case it will publish the files into @backend/uploads (@backend would be an alias that is set and it might not really be the “backend” if you messed with its path) ; weather @backed/uploads is web accessible or not is will depend on your server settings. With that said it’s up to you to make sure it’s web accessible and writable.
AssetBundle is for static assets rather than user-uploaded content. I usually use a controller action to publish uploaded images, when there’s a reason not to upload them directly to a web-accessible directory. On the fist request the new image cannot be found in the public directory and the URL rewriting mechanism initializes the web application that routes the request to an action. The action sends the image to the client and copies it to the public directory, so subsequent requests can find it there.