Formatowanie url

0

Witam, chcę zrobić pobieranie pliku z danego linku tyle że ten link nie zawsze będzie miał taką samą nazwę.

Konkretniej chodzi mi o to jak formatować link przy użyciu funkcji do pobierania

[code]
WebClient web = new WebClient();
web.DownloadFile("//link","test.png");
[/code]

Kombinowałem na kilka sposobów ale mi nie wychodziło, robiłem coś takiego:

[code]
string url = "jakistamlink"+zmienna=".png";
web.DownoladFile(url,"test.png");
[/code]

Wszystko fajnie, wykompilowało się ale w momencie dojścia kodu do pobierania wyrzuciło mi błąd że jest nieobsługiwany format linku. Teraz pytanie jak to zrobić inaczej? :/

0

Jeśli chcesz pobrać plik z serwera za pomocą protokołu HTTP, musisz to określić wprost:

web.DownloadFile("http://somewhere.com/something.gif");
0

Ale ten link za kazdym zalogoeaniem moze bycia inny to zalezy od pewnej zmiennej, bedzie to cos w stylu: skins/{0}/.png

0

No ale nie rozumiem, w czym jest problem.
Jeśli chcesz coś pobrać, to musisz znać tego dokładny adres.
Przypisujesz ten adres do jakiejś zmiennej, a następnie - zgodnie z tym, co napisał @Patryk27 - podajesz tą zmienną przy wywołaniu web.DownloadFile.
Napisz proszę jaśniej, który fragment jest niezrozumiały

0

Jeżeli w 1 argumencie downoladfile podam adres który jest zapisany w stringu do podczas debugowania wystepuje błąd "nieobslugiwany format". Cos gdzies widzialem typu System.Uri.Format ale nw jak to użyć

0

OK.. a jak wpiszesz to nie jako zmienną, ale "na stałe" (tak, jak podał w przykładzie @Patryk27 ) to czy wtedy działa?

0

Tak ;)

0

No to wklej cały fragment kodu, o którym rozmawiamy - tak będzie chyba łatwiej coś napisać.

0

Jak bede w domu to wkleje.

0

OK. I jeszcze taka uwaga (porada z cyklu "debbuger dla ubogich" :D ) - zrób jakiegoś messagebox'a, który wyświetli Ci wartość stringa przekazywanego jako argument do funkcji pobierającej plik. Być może coś się źle ten string "skleja" i stąd całe zamieszanie - problemem nie jest sposób wywołania funkcji, ale treść do niej przekazywana.

0

[code]
WebClient web = new WebClient();
MessageBoxButtons przycisk = MessageBoxButtons.OK;
string uri = "https://game.ptgrp.pl/img/skins/" + skin + ".png";
MessageBox.Show(uri,"URL:", przycisk);
string file_name = "skins/" + skin + ".png";
web.DownloadFile(uri,file_name);
[/code]

No i podczas debugowania jest błąd gdy się zacznie pobierać.

Ktoś, coś pomoże?

0

Halo, jak to zrobić ? :D -> https://i.imgur.com/NpKBp1w.png

0

No i podczas debugowania jest błąd gdy się zacznie pobierać.

Jaki błąd?

0

Pobieranie juz zrobilem. Mam teraz zagwostke jak zmienić obrazek w picturebox. Ss wyzej

0

Do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1