[libcurl] ściąganie i upload plików


(radmar) #1

Witam,

jak w libcurlu ściągać plik z http, wiem że można z ftp, ale czy można z http?

i czego użyć do uploadu plików


([alex]) #2

Ściąganie dokładnie tak samo jak ściąganie strony.

Upload - zobacz post "multipart/form-data"

cUrl->FormData->Add( 'MAX_FILE_SIZE', '', '', POST_TYPE_PLAIN );

cUrl->FormData->Add( 'files[]', plik, 'multipart/form-data', POST_TYPE_ATTACHMENT);


(radmar) #3

mógłbyś powiedzieć jaśniej :slight_smile:


([alex]) #4

Którego słowa nie rozumiesz?


(radmar) #5

gdybyś mógł wszystko powiedz po kolej


(Ryan) #6

Do dokumentacji nie chciało się zerknąć?

http://curl.haxx.se/libcurl/c/getinmemory.html


(radmar) #7

Jak kompiluje ten kod to kompilator zgłasza błąd :error: invalid conversion from void*' tochar*'

pomóżcie :slight_smile:


(Fiołek) #8
void fun(char* ptr);

//...

void* ptr;

char* ptr2 = (char*)ptr;

fun((char*)ptr);

...


(radmar) #9

Mógłbyś powiedzieć jaśniej o co Ci chodzi?


(matiit) #10

O rzutowanie.


(radmar) #11

i gdzie to mam w tym kodzie umieścić?


(Ryan) #12

Zmień:

mem->memory = myrealloc(mem->memory, mem->size + realsize + 1);

na:

mem->memory = (char *)myrealloc(mem->memory, mem->size + realsize + 1);

I poczytaj jakiś tutorial o typach i rzutowaniu.


(radmar) #13

Dobra to działa, tylko powiedzcie jeszcze co powinno się dziać po uruchomieniu programu?

Bo nic się nie dzieje szczególnego


([alex]) #14

Po uruchomieniu programu zawsze dzieje się to co programista napisał w programie.

(nie zawsze odpowiada temu co chciał napisać)


(radmar) #15

Nic mi to nie mówi.

wie ktoś co trzeba zrobić, aby program działał jak należy?


([alex]) #16

Aby program działał jak należy, należy napisać ten program jak należy (niema innej drogi).

Czy ty myślisz ze tu same jasnowidztwie siedzą?

Pokaż co napisałeś, to może ktoś ci wytłumaczy co napisałeś.


(Ryan) #17

Przeczytałeś taki DUŻY komentarz w programie?

* Example source code to show how the callback function can be used to

* download data into a chunk of memory instead of storing it in a file.

Masz dane w pamięci, chcesz zapisać do pliku - śmiało, zapisz. 5 linii kodu i voila!


(radmar) #18

Ryan , powiedz jakie to linijki


(Ryan) #19

Jasne jest, że nie masz ochoty programować. Po co w takim razie upierasz się przy pisaniu dedykowanej aplikacji, kiedy są przynajmniej dwa gotowe rozwiązania, które robią to, czego potrzebujesz: curl (nie libcurl) i wget. Po co chcesz żeby ktoś za Ciebie wynajdował koło?


(radmar) #20

Teraz już naprawdę nie wiem - kombinuję nad tym 4 godziny i nadal nic.

Ryan , gdybyś mógł pomóc to powiedz jak to zrobić?