IdHTTP загрузка фотки в профиль вк [не получается]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by good_man, 21 Sep 2010.

  1. good_man

    good_man New Member

    Joined:
    24 May 2010
    Messages:
    112
    Likes Received:
    3
    Reputations:
    -2
    пытался спросить здесь: загрузка фотки вконтакт

    в общем сори за отдельную тему просто в той думаю мало шансов получить ответ.

    собственно трабл. загрузка фотки идет но потом в результате получаю пустые параметры

    upload_url парсится нормально, отсюда: http://vkontakte.ru/profileEdit.php?page=photo
    http://cs9698.vkontakte.ru/upload.php?act=profile&mid=98******&hash=2c78730312f92c6316438a1aa63bbf9d&rhash=a4c47d492ae26a7dbac932508d7dbfea&vk= это upload_url

    собсно вот так загружаю:
    Code:
    TIdMultiPartFormDataStream *multi = new TIdMultiPartFormDataStream;
    multi->AddFile("filename", "file.jpg", "image/jpeg");
    
    AnsiString load;
    try{
    load=http->Post(upload_url, multi);
    }catch(...){}
    delete multi;
    Form1->Memo1->Lines->Add(http->Response->Location);
    try{
    http->Get(http->Response->Location);
    }catch(...){}
    
    в итоге, после поста http->Post(upload_url, multi); мне в ответ приходит ссылка с пустыми параметрами photo=&crop= :
    http://vkontakte.ru/profileEdit.php?page=done_photo&mid=98******&server=9698&photo=&crop=&hash=8262276f6fcf5c1fbd727da8df70252b&message_code=0&callback=

    почему не грузится фотка подскажите пожалуйста. заранее большое спасибо.
     
    #1 good_man, 21 Sep 2010
    Last edited: 21 Sep 2010
  2. brutos

    brutos Member

    Joined:
    25 Nov 2009
    Messages:
    123
    Likes Received:
    27
    Reputations:
    8
    У меня есть вот такой код отправки аватара на Delphi:
    Перевести на C# (это ведь C#, да?) не составит проблем. Код рабочий, только что тестил еще раз. А в чем отличие моего кода от твоего - не знаю. Искать не хочется, если честно)) Мб в этом:
    formData.AddFormField('subm','1');

    P.S. Да, и вот тут: formData.AddFile('photo',Avatar,'image/jpeg'); Avatar - переменная типа String, содержит путь к файлу с аватаром.
    Да, и максимальный размер файла с аватаром у меня установлен в 200x500, загружается норм. Может, в этом у тебя проблема?
     
    #2 brutos, 21 Sep 2010
    Last edited: 21 Sep 2010
    1 person likes this.
  3. good_man

    good_man New Member

    Joined:
    24 May 2010
    Messages:
    112
    Likes Received:
    3
    Reputations:
    -2
    brutos огромное спасибо!!!!!!!

    все заработало! проблема была тут:
    multi->AddFile("filename", "file.jpg", "image/jpeg");

    filename заменил на photo :) теперь работает!

    p.s.:
    нет это си++ билдер )) твой дельфовый код думаю многим юным кодерам полюбому пригодится.

    еще раз спасибо!
     
    1 person likes this.