0 / 0 / 0
Регистрация: 29.10.2007
Сообщений: 86
1

Аплоад через XMLHTTP

28.03.2011, 11:54. Показов 2084. Ответов 1
Метки нет (Все метки)

пишу на eVB для PocketPC аплоад файлов с посылом на PHP скрипт
в принципе у меня проблема только с аплоадом бинарных файлов

если sFileData - текст, то аплоадится без проблем
sData = '----AaB03x' & _
vbCrLf & _
'Content-Disposition: form-data; name=files; filename=file1.gif' & _
vbCrLf & _
'Content-Type: application/octet-stream' & _
vbCrLf & vbCrLf & _
sFileData & _
vbCrLf & vbCrLf & _
'----AaB03x--'
Dim oHTTP As Microsoft.XMLHTTP
Set oHTTP = CreateObject('Microsoft.XMLHTTP')
oHTTP.Open 'POST', 'http://somehost/somescript.php', False
oHTTP.setRequestHeader 'Content-Type', 'multipart/form-data; boundary=--AaB03x'
oHTTP.send sData

а вот как с бинарным не пойму...
пробовал по всякому, не получается
в принимающем скрипте показывается что файл всегда размером 7 байт, либо вообще ни чего нет.

сейчас отсылаемый файл читаю так:
File1.Open sPath, 32, fsAccessRead
sFileData = File1.Input(nFileLen)
File1.Close

длина sData получается соответсвующая всем заголовкам и данным, но в скрипте почему-то только 7 байт.

пробовал читать через File1.InputB и делать StrToBin или наоборот файл BinToStr
либо тоже самое, либо несовпадение типов :-? хотя и привожу к одному, либо вообще ни чего скрипт не отображает.

помогите плз. разобраться, может кто знает где косяк, а то запутался уже :-?
может заголовки как-то по другому выставлять, а sFileData читать бинарно и посылать только его oHTTP.Send sFileData
подумываю может не POST'ом слать а PUT'ом
PHP вроде могет так файлы принимать, но все же хотелось бы решить проблему для посыла POST'ом

PS: это конечно не классический VB, но проблемы с обектом XMLHTTP там имхо такие же, надеюсь модератор не удалит
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2011, 11:54
Ответы с готовыми решениями:

Аплоад файлов на FTP через Curl в директорию
Имеется скрипт. Сейчас он не грузит файлы на FTP, а необходимо получаемые архивы загрузить в папку...

Узнать размер и формат загруженной через аплоад картинки
Возникла простая проблема: аплоадят картику на сайт и мне надо узнать в скрипте ее размеры и...

Аплоад и ресайз картинок
Не подкинете примерчик для аплоада и ресайза картинок на VB? Очень буду благодарен.

Аплоад файлов на сервер
Здравствуйте, Нашел в гугле заезженный код по отправке файлов на сервер procedure...

1
0 / 0 / 0
Регистрация: 29.10.2007
Сообщений: 86
28.03.2011, 16:45  [ТС] 2
если читать файл в байтах (File1.InputB) и потом посылать как есть, безо всяких заголовков эмуляции поста формы, то по исходящему трафу видно что все уходит нормально.
но в PHP из Request'a его не достать...

Dim bData As Byte
Dim sPath As String
Dim nFileLen As Integer
sPath = 'My Documentsfile1.gif'
nFileLen = FileSystem1.FileLen(sPath)
File1.Open sPath, 32, fsAccessRead
bData = File1.InputB(nFileLen)
File1.Close

Dim oHTTP As Microsoft.XMLHTTP
Set oHTTP = CreateObject('Microsoft.XMLHTTP')
oHTTP.Open 'POST', 'http://somehost/somescript.php', False
oHTTP.setRequestHeader 'Content-Type', 'image/gif'
oHTTP.setRequestHeader 'Content-Length', nFileLen
oHTTP.send bData
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2011, 16:45
Помогаю со студенческими работами здесь

Еще раз про аплоад
Попробуйте использовать "Pure ASP File Upload"...

Готовый аплоад файлов от клиента.
Problema: V JSP Stoit teg '<input type=file name=myname>' Ne znaet li kto, kak polucit pri submit...

ASPImage и аплоад графических файлов
Друзья, в моем приложении через форму загружается графический файл JPG. Принимающий скрипт должен...

Как сделать аплоад картинок на ASP?!!!
Поскажите по сабжу!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru