i understood the question a little differently. my take was that op wants to update files that began their miserable lives in dirassets.
in addition, what i found curious was:
The uploading is working fine - no problem with that.
i'd like to know more about uploading files to a phone. that's an unusual twist.
anyway, based on my understanding:
you can't "load" anything to dirassets. it's not actually
part of the device's file system. technically, that makes
it "read only". you populate it at compile time. it's built into
your apk. it's always there until you remove the files or replace
them when you re-build the project with new assets.
where you can load (or save) files is in dirinternal or
(better) in safedirexternaldefault (see runtime permissions).
so, how to reconcile the old and the new? the usual way
is to copy the files from dirassets to dirinternal or
(better) safedirexternaldefault. from that point on, any
updates to those files will be saved in dirinternal or
(better) safedirexternaldefault and overwrite what was
there. if no such file was there, any new uploads will
simply be saved as new files.
what to do about dirassets? basically nothing. when your
app is launched, the first thing it needs to do is to check for the
existence of one of the files you have in dirassets. if that
file does not exist in dirinternal, it means that the files
in dirassets were never copied to dirinternal. you copy them.
from that point on, every time the user launches your app,
the test will be true, so no copying is done. after you have
copied the files from dirassets, the app should never
refer to them in that location; always by their new home in
dirinternal or safedirexternaldefault. if you do not
test but blindly copy the files to dirinternal, those files will
overwrite whatever new versions there may already be in
dirinternal. this will happen every time a user launches your
app.
if your files will never change or if can only be changed
by updating the app, then everything can stay in dirassets,
and you can safely refer to dirassets.
once you allow for user downloads, then the downloads
can only go into writeable folders. if you put files in
dirassets at compile time and those files can be updated, then
you need to copy them from dirassets to somewhere else.
but such a copy is only done once!
another option would be not to put any files that are subject
to change in dirassets. have the user download changeable
files the first time the app is used and save them to dirinternal
or safedirexternaldefault.