i'm going to bow out here. i'm not familiar with the b4j server.
as for okhttputils2, i would urge you to accept that it is well written and not "generic". no offense, but you should focus more on your understanding of exactly what it does and the protocols involved. when you mix a get with a payload (your file), there is no way to guarantee how a given server will handle the request.
if anything, it's an incorrect use of okhttputils2.
to upload a file along with, eg, a file name and, perhaps, other information, you use postmultipart. in effect, this does what you're trying to do, but in a way that the protocol recognizes.
as for how the b4j server handles anything at all, i don't have a clue. it isn't like erel to supply non-compliant stuff, so i would be surprised if it didn't handle postmultipart. i'm not sure i found the tutorial you referred to. the one i saw regarding postbytes seemed to be in a different context. you shouldn't have to use postbytes to send a file (except maybe to send the file as a base64 string). sorry.