Можете ли вы сделать файловую передачу по HTTP? - PullRequest
0 голосов
/ 04 августа 2011

Возможно ли передать или передать файл через http, в то время как другое приложение выполняет запись в этот файл на сервере?

Ответы [ 3 ]

0 голосов
/ 04 августа 2011

Потоковая передача возможна в чистом HTTP через MIME-тип multipart / x-mixed-replace . Если вы хотите делать подобные вещи в браузере, имейте в виду, что он не работает в IE (как обычно), поэтому вам следует вернуться к AJAX и поведению опроса.

0 голосов
/ 04 августа 2011

HTTP - протокол запроса-ответа.Если клиент отправляет запрос на сервер, сервер десериализует запрос, выполняет некоторую работу и затем отправляет ответ.Если сервер выбирает, он может передавать любой контент, который ему нравится, обратно вызывающей стороне и закрывать соединение только после того, как это будет сделано.

Однако клиент должен осознавать тот факт, что он будет получать потокданные в ответе и должны быть в состоянии и желать обрабатывать входящий канал.

Мы встроили эту возможность в Windows Communication Foundation (WCF), чтобы службы могли передавать большие двоичные объекты обратно клиентам через HTTP, а также через TCP иИменованные трубы.

0 голосов
/ 04 августа 2011

Да, это возможно.

Если другое приложение не получило эксклюзивную блокировку для файла, вы можете продолжать чтение, пока не найдете eof.если eof отсутствует, файл все еще записывается.

Затем вы отправите файл по http, используя chunked encoding .Таким образом, вам не нужно буферизовать весь файл перед отправкой.

У вас есть определенный язык?

...