Question about downloading/uploading files with TCPLink -- or converting objects to byte arrays

So far I’ve used TCPLink to upload and download simple text data like high scores without any issues, but there’s a problem now that I have to upload and download replay files and use binary, the files come from BasicSaveObject converting a large unrealscript struct into a well compressed binary file on the harddrive.
The problem is you can only upload and download files with UDK as byte arrays, I couldn’t find any way to either directly upload a file, directly upload an object like the struct itself, or try to convert a file or game object into a byte array. (and back)

Is there something I’m missing? I’m looking at some things like using Cloud Storage for this which looks like another wild goose chase, but I’m trying to get a second opinion.

there is something like that, cant remember what it was called though sorry.
perhaps something like DLC or a similar thing.

i never used it but all the back end code is there and there was a page in the documentation about it.
maybe not quite what you are after, at least its a start

Thanks for the tip, I assume you were talking about this UDK | WebServer

It looks like there is a function for uploading files from the harddrive to a server https://wiki.beyondunreal.com/UE3:WebResponse_(UDK)#IncludeBinaryFile but I couldn’t find anything for downloading entire files, so I will still need a way to convert downloaded byte arrays into objects or files.

have a look at
DownloadableContentManager.uc
DownloadableContentEnumerator.uc

there are references in GameEngine.uc

as i said i never used it so i cant tell you how
i also remember seeing a page in the docs about it way back when

edit:
actually i dont know if it was in the full ue3 docs or udk, sorry it was a long time ago and i used both

It doesn’t look like I can use those, they have no way whatsoever of specifying what file you want to download or upload, or what server to connect to.

Honestly it’s ridiculous that they implemented ReadBinary in TCPLink and then just stop there with no way to turn binary into an object or file, there’s 1-2 convenient examples where they use downloaded binary data directly (like with the function for loading binary data directly into a texture) like they are knowingly avoiding the problem instead of fixing it. It’s likely there is no way to fix this without DllBind.