2010-01-19 5 views
1

вот что я хочу сделать и вам нужна помощь.httpclient get and put

У меня есть URL-адрес источника и адрес назначения. то, что я хочу сделать, это скопировать файл с исходного URL-адреса на целевой URL-адрес, но я хочу, чтобы не копировать файл локально в моей системе, прежде чем загружать файл снова.

Также должно быть, что мы должны получить длину контента, потому что для назначения api требуется его (его обычай). Если я использую класс HttpUrlConnection, тогда я могу получить это .... но AFAIK есть некоторые проблемы при использовании java.net для чего-либо, кроме GET. (исходные файлы представляют собой огромные изображения/видеофайлы), поэтому я могу использовать apache httpclient 3.1. Но как я к этому подхожу?

любые мысли?

-Ash

ответ

1

Вы попробовали следующее?

См. Это tutorial.

EDIT

Вы должны быть в состоянии получить размер отклика GET с GetMethod.getResponseContentLenght (что соответствует заголовку Content-Length, если это предусмотрено).

Затем я предлагаю вам обратиться к одному из методов PUT: setRequestContentLenght, addContentLenghtRequestHeader, setContentChunked.

+0

да, но как получить длину контента от InputStream is = getMethod.getResponseBodyAsStream(); ? Я не хочу загружать файл локально ... Любые идеи? -Ash – ashchawla

0

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

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

Смежные вопросы