Hi there,
About the upload feature you have to set a custom field in order to allow you client to upload a file during the checkout.
For the packaging option the is to use the manual shipping method and set it according to your needs.
You can play with the weight of your products to restrict your shipping methods to specific case.
For example, if all your product have a 1kg weight, you can create a shipping method which is displayed for a 3 to 4kg order with a specific price.
I suggest you to
look at the documentation
for more informations