Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IdHTTP закачка файла на сервер, indy 10 
V
    Опции темы
MoLeX
Дата 28.4.2011, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 1
Всего: 140



Добрый день.

Пытаюсь отправить данные и файл на сервер методом POST. В итоге данные приходят, а файл нет
Код

        TStringStream *Result = new TStringStream("");

        TIdMultiPartFormDataStream *user = new TIdMultiPartFormDataStream();
        user->AddFormField("user", "login");
        user->AddFormField("passw", "password");
        user->AddFile("fileupload", "D:\\test.doc", "multipart/form-data"); // "application/octet-stream");

        AnsiString url = "http://192.168.191.238/test.php?get=test";
        IdHTTP1->Request->ContentType = "multipart/form-data";
        IdHTTP1->Post(url, user, Result);

        Memo1->Text = Result->DataString;


Добавлено через 31 секунду
P.S. на сервере делаю
Код

var_dump($_FILE);


получаю null


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 29.4.2011, 05:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 1
Всего: 140



Что-то странно всё это.
Указал заведомо ложный путь к файлу
Код

user->AddFile("fileupload", "D:\\test111111111111.doc", "multipart/form-data");


в ответ получил ошибку - Cannot open file D:\\test111111111111.doc
Значит компонент берет файл для отправки, а почему-то не отправляет(((



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
srt
Дата 29.4.2011, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



PM MAIL   Вверх
MoLeX
Дата 30.4.2011, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 1
Всего: 140



Цитата(srt @  29.4.2011,  17:38 Найти цитируемый пост)
попробуй может это оно 



srt, данные у меня проходят нормально, на сервере я их получаю. А вот сам файл не приходит(


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
srt
Дата 1.5.2011, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



значит тебе в раздел PHP
PM MAIL   Вверх
srt
Дата 1.5.2011, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



сам файл не приходит но данные приходят .. мм .. занятно
PM MAIL   Вверх
srt
Дата 1.5.2011, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



отпишись ежли получилось - народу поможет
мэй би
PM MAIL   Вверх
srt
Дата 2.5.2011, 01:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



Код

void __fastcall TForm1::Url64(TObject *Sender)
{
AnsiString Inp;
Inp = Records->Text;

AnsiString InpU = "";
int nc = Inp.Length();
for (int u = 1; u <= nc; u++){
if(AnsiStrScan("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*$!@.,'-_", Inp[u]) == NULL){
InpU += "%" + IntToHex((byte)Inp[u],2);
}else{
InpU += Inp[u];
}
}

AnsiString strOut;
const static char base64ABC[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const char* strIn = InpU.c_str();
strOut = "";
const size_t len = strlen(strIn);
for(unsigned int k = 0; k < len; k += 3) {
LONG l = (((LONG)strIn[k]) << 16) | (((k + 1) < len) ? (((LONG)strIn[k+1]) << 8) : 0) | (((k+2) < len) ? ((LONG)strIn[k+2]) : 0);
strOut += base64ABC[(l >> 18) & 0x3F];
strOut += base64ABC[(l >> 12) & 0x3F];
if(k+1 < len){strOut += base64ABC[(l >> 6) & 0x3F];}
if(k+2 < len){strOut += base64ABC[(l ) & 0x3F];}
}
switch (len%3){
case 1:
strOut += '=';
case 2:
strOut += '=';
}
fnlm = fnlm + "&mess[" + AnsiString(nn) + "]=" + strOut;
//fnlm = fnlm + Inp;
}

PM MAIL   Вверх
MoLeX
Дата 2.5.2011, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 1
Всего: 140



Цитата(srt @  1.5.2011,  01:20 Найти цитируемый пост)
начит тебе в раздел PHP 


читай внимательно, что я написал!!!

Добавлено через 1 минуту и 8 секунд
и зачем мне кодировать?


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
srt
Дата 2.5.2011, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



если не хочешь урлэнкод - делай связь на сокетах
на мастдае подробно расписано и на этом форуме есть
в любом файле есть символы, которые не передаются просто так постом
при использовании сокетов мона включить бинарный режим передачи - там точно ничего кодировать ненужно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.