I like this approach - break it up into chunks and have the XData server reassemble the chunks. One of the benefits is that you then have the opportunity to provide a better progress indicator as you upload the chunks and can also provide a bit of fault tolerance or pause/resume/restart functionality as well.