Which method best allows users to upload large files from a web browser to the server. I say 200 MB + maybe up to several gigabytes. I was thinking of several possible solutions to the problem (I have not tried them yet), and this is basically what I came up with. Server download speed will not be a problem, but users can connect.
Having some client-side applet written in Java or Flash that sends the file in parts (this is possible using the applet) to the php / other script on the server and the checksum + other information about the file. On server scripts, all parts and the information file are stored in a temporary directory that has a unique name based on the checksum of the file and user ip. When the last piece is sent, the applet sends a signal to the server, saying that it is complete, and the server puts the file together in the right place. If the piece does not match the checksum for this part, the server will send a response to the applet, in which it will be asked to re-download this fragment. I do not know how important checksum verification is, since all this is tcpackages, someone with a more complex migration will be able to answer this.
This is probably the worst way by changing the settings on your server to allow huge file downloads through the inputfiel. Make it like a normal transition.
Use the uploadmanager manager, which does almost the same thing as the applet mentioned above.
The pluses of the first one, it is likely that it will most likely be quite safe, you can also show progress and, possibly, resume downloading if ip has not changed and do stream loading of pieces. The cons of the first is that the user will need flash / java for it to work. The pluses of the second is that it will work to a large extent for everyone, but the disadvantages are big, first of all, there is no way to resume intimate downloads, and if something is wrong, the whole file will have to be reloaded and that only a few of them. For the third, the professionals are basically the same as for the first, but the disadvantages are that the user will have to download the application to his computer and run, and the application must be compatible with his computer and OS.
. , , , , 10-20 .
, , SO.