php - Uploading big files over HTTP -


I need to upload a potential large (ie, 10 to 100 megabytes) of files from a desktop application to a server server code Written in PHP, C ++ / MFC in the desktop application when upload fails incomplete, I want to be able to resume file uploads because this software will be used on unreliable connections. What are my options? I've got several types of HTTP upload components for C ++, like it sounds good, but it does not appear to handle 'resumption' of half uploads (I think because it does not support HTTP 1.1 Does). I have also seen the BITS service but it requires IIS server for uploading. So far my only option seems to be that I want to upload small pieces (1 meg per each) to reduce the file, Uploading, re-linking them with PHP and running a checksum to see if everything is okay. To start again, at the beginning of uploading I will need to have some form of 'handmade', to find out which pieces are already present on the server, I have to take this code in hand or Does anyone know that this is all for me, or maybe a completely different solution? I would not want to switch to any other protocol which supports basically restarting for maintenance reasons (potential problems with firewall etc.). I'm late for eight months but I stumbled over this question and wondered if WebDev Was not mentioned. You can use the HTTP PUT method to upload, and you can include content-range headers to resume, and thus a head request tells you that the file already exists and how large it is Maybe something like this:

1) Remote file

2) If it exists and size == Local size, upload has already been done

3) If the size & lt; Add a content-range header to local size, request and look for the appropriate location in the local file.

4) Request to upload the file (or part of the file, on resume)

5) If the connection fails during the PUT request, the steps Start with 1

You can also list (PROPFIND) and rename (MOVE) files, and with directories (MKCOL).

I believe there are Dave Extensions in both Apache and LightPad.


Comments