Witam, chciałbym spróbować napisać aplikację która byłaby desktopowym klientem fotka.pl
Otóż chciałem teraz dodać możliwość uploadowania zdjęć jednakże cały czas dostaję odpowiedź o błędzie załadowania zdjęcia bez jego numeru czy komunikatu.
oto kod:
public DodajZdjecie(string sciezka, string hash, string nazwa, string haslo, string numer, string nazwaAlbumu)
{
string userName = nazwa;
string userPassword = haslo;
authInfo = userName + ":" + userPassword;
apiurl = "http://api.fotka.pl/upload/put.xml?api.auth_method=httpbasic&source=" + sciezka + "&filehash=" + hash + "&album_nr=" + numer + "&description=test" + "&type=albumy_fotki_dodaj";
}
public void upPicture()
{
WebRequest request = WebRequest.Create(apiurl);
request.ContentType = "application/x-www-form-urlencoded";
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
request.Headers["Authorization"] = "Basic " + authInfo;
try
{
WebResponse response = request.GetResponse();
string status = ((HttpWebResponse)response).StatusDescription + "\r\n";
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string result = reader.ReadToEnd().Trim();
XmlDocument doc = new XmlDocument();
doc.InnerXml = result;
XmlElement root = doc.DocumentElement;
XmlNodeList powiadomienia = root.SelectNodes("//body");
foreach (XmlNode powiadomienie in powiadomienia)
{
string body = powiadomienie.InnerText;
}
}
catch (Exception ex)
{
}
}
Tutaj jest dokumentacja i opis tej funkcji api: http://www.fotka.pl/api/upload/put
Na zdrowy rozsądek, dziwne jest dla mnie to że niby wymaga tylko filename, nie wiem jak jest zrobiony proces wysyłania, myślałem że może jest to po stronie api, ale widocznie nie. Czekam na wskazówki. ;)