Don't have any suggested solutions for this and drag and drop to an externally stored container field should be just fine, but out of curiosity, what happens when
sometimes a file will not be finished uploading before someone else tries to view or download it.
Does that "someone else" get an error message or an out of date copy of the file?
Instead of showing the file, the container shows the text "The file cannot be found: [File name]"
I can see a way for the OnObjectModify trigger to perform a script that's sets a flag when the user first "drops" a file into the container field, but there's nothing to hook a script to that would clear the flag field when the upload has completed...
Just thinking as I type here, but I wonder what Isempty( containerFIeld ) returns on this field when that error message is displayed.
The idea that I am rolling around in my brain here is that the OnObject modify triggered script would set a flag when the field is modified. OnRecordLoad could then, on the other user's machine, check the flag and use some test such as IsEmpty to detect the fact that the upload is unfinished. It'd clear the flag if the container is not empty but display a message such as "Updated copy of this file in process of being uploaded..." if it is not.
But that only would catch this situation part of the time and I'm not sure that Isempy would work as a reliable test for this situation...