Форум: "Начинающим";
Текущий архив: 2012.01.22;
Скачать: [xml.tar.bz2];
ВнизIndy передать файл на сервер Найти похожие ветки
← →
Евгений07 (2011-10-11 14:43) [0]Доброго времени!
Не могу записать файл на сервер в ПХП скрипт
http: TIdHTTP;
....
formData := TAqMultipartFormDataStream.Create;
formData.AddFile("File","MyFile.jpg","image/jpeg");
....
http.Post(s1, formData, Response);
Скрипт = Response = выдает ошибку нет имени файла
Notice: Undefined index: filename in C:\apache\Tefff.ru\www\adm1.php
on line3
Array
(
)
Переменные заголовка от скрипта
Host: Tefff.ru <br />
Accept: text/html, */* <br />
User-Agent: Mozilla/3.0 (compatible; Indy Library) <br />
Content-Length: 29333 <br />
Вывел содержимое потока formData
----------101111123401163
Content-Disposition: form-data; name="File"; filename="MyFile.jpg"
Content-Type: image/jpeg
// здесь содержимое файла, размером = 29181
----------101111123401163--
По идее нет
Content-Type: multipart/form-data;
boundary=----------101111123401163
← →
stas © (2011-10-11 16:07) [1]Проблема в самом php
← →
Евгений07 (2011-10-11 18:14) [2]php простейший, из хтмл все грузит
← →
Евгений07 (2011-10-11 18:19) [3]У меня TAqMultipartFormDataStream не было, скачал
Ссылку на рабочую Инди под Дельфи 6 не дадите?
Пример на ИндиКлиент в Дельфи не работает по загрузке = ошибка 405?
← →
Anatoly Podgoretsky © (2011-10-11 19:08) [4]> Евгений07 (11.10.2011 18:19:03) [3]
http://nevrona.com/products/index.html
← →
Евгений07 (2011-10-11 20:11) [5]404 - File or directory not found.
Вопрос по существующему коду:
Должен ли быть в заголовке НТТМ
Content-Type: multipart/form-data;
boundary=----------101111123401163
← →
Евгений07 (2011-10-12 23:00) [6]Вопрос кипит
Поставил Дельфи 7 с Инди 9
Ошибка та же ПХП скрипт не ловит мою картинку
Код примера, упрощенный:
formData := TIdMultipartFormDataStream.Create;
formData.AddFormField("FileName2", "йцукен");
formData.AddFile("File","gel.jpg","application/octet-stream");
formData.AddFormField("FileName1", "");
formData.AddFormField("FileName3", "");
response := idHTTP1.Post("http://Tefff.ru/cgi/Teffi.exe", formData);
Ловлю на выходе тело РОST
----------101211220306968
Content-Disposition: form-data; name="%s"FileName2"
йцукен
----------101211220306968
Content-Disposition: form-data; name="%s"File"; filename="%s"gel.jpg"
Content-Type: %s
application/octet-stream
Content.LengthJpg 2665 это мое
#### это мое
255, 216, 255, 224, 0, 16, 74, 70 и дальше . . .
Начало последней записи смахивает на jpg (мое представление о нем)
+
Картинки из ЕХЕ скрипта я ловил через
Request.Files.Items[№]
Request.Files.Count
Request.Files.Items[№].FieldName;
Request.Files.Items[№].FieldName;
Request.Files.Items[№].Stream
Попытка записать Request.Files.Count приводит к ошибке 500 сервера
Тут похоже нарушена структура тела РОST
1. Где можно посмотреть описание структуры тела РОST
2. Что можно исправить = почему у всего инета эта простейшая комбинация идет , а у меня нет??
← →
Cobalt © (2011-10-13 10:20) [7]?
TIdHTTP.Request.ContentType:="multipart/form-data"
← →
Евгений07 (2011-10-13 11:53) [8]Ответ:
в IdMultipartFormData в константах
sContentDisposition = "Content-Disposition: form-data; name="%s"";
sFileNamePlaceHolder = "; filename="%s"";
sContentTypePlaceHolder = "Content-Type: %s" + crlf + crlf;
убрал "%s и %s
Зачем они там - не понятно
Вопрос закрыт
← →
Плохиш © (2011-10-13 12:16) [9]
> Зачем они там - не понятно
Для собирания строк с помощью функций форматирования.
PS. Поменял генофонд - жди следующих граблей.
← →
Медвежонок Пятачок © (2011-10-13 12:19) [10]php простейший, из хтмл все грузит
Хром+Ctrl+Shift+J->Network и смотреть, смотреть, смотреть....
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c