Hi Jenli,
my tip was not completely correct.
aras.downloadFile always require the full item, so according to my knowledge, you may have to use it with getItemById. I never used in another way, e.g. this one is my variant (custom properties).
var fileItem = aras.getItemById("File", dom.firstChild.getAttribute("id"));
aras.downloadFile(fileItem, zipFileName + ".zip");
Does downloading the zip file work when you just the sample "as is"? I wonder why you wanted to add the "locked_by_id" filter. "File" items are normally not locked/unlocked.
The downloadFile function will download you the final zip result. Each filter you want to add you have to provide before so the used id list for the involved Files is correct.
When you use one of the newer Innovator Versions (late Innovator 11 or Innovator 12) I would also recommend to remove all "top." prefixes. You will not need them and sometimes they can lead to trouble.