Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331

Как передавать изображение по http на сервер?

20.03.2015, 19:36. Показов 6864. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
изображение по http на сервер (сайт) нужно в формате Base64 передавать??

Добавлено через 1 минуту
только так а массив байтов никак нельзя передать ??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2015, 19:36
Ответы с готовыми решениями:

Примитивный http сервер, когда передавать css
Добрый день. Пишу примитивный http для понимания работы всего этого механизма, и вот с каким вопросом столкнулся: Я вызываю из браузера...

Сервер перестает передавать изображение на KVM консоль
ICT RackNode 2U (RN2‐Q170i) FUJITSU Mainboard D3441-S Intel Core i5 6600T 2x8Gb DDR4 2xSSD 2.5" 480Gb Сервер в стойке....

Http-сервер: Как сделать чтоб этот сервер понимал файлы расширением .php и .aspx
Здравствуйте друзья Как сделать чтоб этот сервер понимал файлы расширением .php и .aspx? Простые странички он понимает нормально ...

10
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
20.03.2015, 21:09
Можно. Например, через multipart/form-data.
Или как image/png (вместо png подставьте свой тип).
Или как octet-stream. HTTP - довольно гибкая штука,
позволяет передавать практически любые данные.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
21.03.2015, 15:00  [ТС]
можно и просто передать url на изображение и на сервере по url его вытянуть верно ж??
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
21.03.2015, 15:07
Да.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
25.03.2015, 22:24  [ТС]
а просто как массив байтов можно по http передать??
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
26.03.2015, 08:09
Ну например, так (упрощенно, т.к. в хорошем HTTP-запросе
должны присутствовать и другие заголовки):
Code
1
2
3
4
5
POST /senddata.php HTTP/1.1
Host: mysite.com
Content-Length: 12345
 
Здесь 12345 байт данных
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
26.03.2015, 15:21  [ТС]
Но Content-Length: 12345 это только размер, который означает сколько байтов будет передано. А сами байты где передаются?? Можете написать фрагмент кода http запроса с телом??
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
26.03.2015, 16:11
Байты передаются в теле сообщения (http body).
Из примера выше:
Code
1
Здесь 12345 байт данных
Вот здесь и передаются данные.
0
 Аватар для Shvonder
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
26.03.2015, 16:53
Цитата Сообщение от yura91 Посмотреть сообщение
Можете написать фрагмент кода http запроса с телом??
Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
POST /?upload HTTP/1.1
Host: 192.168.1.10
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://192.168.1.10/
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------10605579218212
Content-Length: 3229
 
-----------------------------10605579218212
Content-Disposition: form-data; name="filename"; filename="avatar_Shvonder.JPG"
Content-Type: image/jpeg
 
яШяа JFIF  x x  яЫ C        

 $.' ",#(7),01444'9=82<.342яЫ C          
 
2!!22222222222222222222222222222222222222222222222222яА  P P" яД               
яД µ   } !1AQa"q2Ѓ‘Ў#B±БRСр$3br‚    
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡€‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцчшщъяД           
яД µ  w !1AQaq"2ЃB‘Ў±Б  #3RрbrС
$4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡€‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфхцчшщъяЪ   ? тЅoM¶ЋКaD‹Кr$=7з‘щ`юu±*шЫ\Сdѕ№»k(PмЃЈЂИчќЉ*дљнtя ¦ЇҐЙ©ЌєtlZ2»\тuфБхц¬*nщўФ±B?ҐµЏzЫГ•Џqщ¶Њcждя ІG8*{џйъ=¬ЦтX-ЛEё]8 х|65Ќuѕ;Ё?ш~КЪ    ЈZ@Бp7-БюYЇBР<6|]ЁЬOutSGоЫ)
аъ?ћЩu>•ЭГрѓГrЪyох"‘жЄЃфгЏВЂ<=[µ›нZ$pEnҐД±3|юЂњгюхџ>‡Ь>uў5ј™БЌЯrЎПЇ§µ}АпДЕЊТоЧmџМb™вП…:uЖЊПб]Ъ^©юлЛђм›АщП'±хл@gа-D’ѕ©ҐЫЬЫ-Њ*э*m
 
Tgіћѓу^oyЎj¶уИ.,Ьs*фЇWрФЪµ§“©ѓ
›µОщИ]иЩ/BАЃЋ†»€я фНOP·ЅюСqё>Q
иЛAаЊp
 |М°\[М¦[gSй"c?ќhН\ўo‚6dDW?^ХйSьЦl$WMRЗИ-Ђжеся |‘љ±в„ю%¶ё·[    "Хm^ мсВЁcou,r=ЗҐ z‰6ЎГЙљЭвEoљЪ@2иKsђG уЏЇ^хвю)°јУјiЁГЁIжpЕѓgrv9ЬpHноkУь=ЇЩxЇба]ЦЅ°ґЯiт>O–ЉpW¦wнЬЦg€|9*Яй  >—*¶Ўo%lS@К]sч€zжЂ-шЦкC*€aµ#qPzызр®І/$.Й‘©к"C5¤;—ЋАћµЌбwUТ*бїЪa   еіgжЗ<Цњћ
‚й ћW·pFa»xЛpБчр*ъ_Д}7Tє[oмНVЭЩ¶ѓs QоO'Ё/>#FчfПGро§«ЬЁзЙ@±«9cИзёvЛГъ^ѓ2ЬЗmwQЖНi™SЭњуУ*Pс‚4]p€б‡N"еѕЦcdеЏw>*У§4д:ВI€u™љС,n®¦Ћо?*@Z   нГvB3шЧ*шЈЕ‹©xWIФ…М2ЕsЗuj…_зoБИаЦnЅаЭ+ДЮ,].)Н™·…Dn«тJBЊ!9аdzЧ'ѓuЌn›SС®l’9X   R2РЃћ>qЖ=Й*«VЧM+-ZЖЪзH™·¤’\K+ЏW0ћгҐбЅFЗEУ%]+NљПн
ё]Нyз    П н\g¶+‡ІЧхќ$€фЅNhL„"¤2џќЏ@№й[й§кWЏ«шУQљF¶8KYћБіФзµ pюЧWБЮ ‡Y_<,|:ЫнЬгџ”огi={ъbЅkKс–ЃЇЅ‹   ЖЌiuqд,w«жrщOАTзњ‚2G©Ї
ё·ё‘$Q’,нfWЏГ祦i:^VЦйеЭ. ЗККЭФuИиzРм¶7nРММC’ь   }=ліС|E™Іl‘P‘pгЂ3ЕyХ№+ЫЮ8
J¤‘Џ’`1КъQOњНmµ*шe9;Ћ0?Ґ z.ЈsЉгЃ5_Л3 B†U?ЭЙЧћqUмQ|%‹IТ®‹ОBMusq 1*<gkњ*зРV.РеІ{}wJљ`FJЖNЖ#ЫЊVD>"рХь‡Hрч†ЬJGЫҐbV!ь'ОM mVIјQ>Јat¶Т¬0ЅґЋ›ХІТИИ tОkУј7вI5xҐKѓ
ҐЭ*я K¶vЬЎзў?CѓФqЊWѓOoц€.m/аnµ(ЌrЖмc'Ё*ШИйNРхэnЦкЦоГEЦЇ.mCBmМюZ·рU»u*
Їxњ7Њuиє|+dЮb¬~VЕ    ИRЯ”рЃкs\З€ь_guв/іН+Ia
·пcу%'$э;~4НSвЮй’й¶6h®LТykРЂsъW/nЦУ;Г7КБHЊ±ЖмtзЎ*
?•®X ¶·бШ?OЁь«6йЯN[x¤iіrм@`сЋ?5vУBФ!єскЕ*јМ ~1УеnQ»‚Bо®$№%wGЅ>жњ8ц*‹HсM¬‰rК“±!|№#Ь¤ыоьk[ЕRЖъ}Ґж‹Xј{†ЎТґ‘ЁКмd
’ЮИПжтGwn©!ЊЗ(#’yлУµmizуiўС%’gЋFhс‘”  0OnzPЈ*kєЉ†іФн'FЇ”YЂ;µТhZlZ^ќІ$ћ|е^}е[жqЖjµЈл’ZґЧZMКГ#!Ѓ•#RpДЖHШШэ+Дє•Ећ—rЙm6Йcт|У„ ћ>¤хйТЂ"єЧфЛц..•LO·2Ґ†y ч’ЫДwѕє‡Tрэы©еmЫ|r.&H?эzжЎУјЁ–kџ92дНЊ‡жQЙFsЧџJїҐ‹K№в’8!¶јGЩДШV>Ю¤wњ µuЈзљxе)q+эзЭ$ћЭА¬»‹YtTi‚I2r6®}LWWцЁ–-л’“[“ю*уЊ©ПCIu§ќDH!rП"p¤з§гл@*јXµ4W•)3е„|Єћy?Ќ<XҐжћМЊҐ-§2·P1шЧ+q•ч¤1Дr®sПOз[:.*с"К#“М‡уЬИП8пхh\YtЇЬA"†hqиГџДsUcФYaЌЌ"©Й…Рђsђ}*нх=FЛRє:њцQКлЯ®%cЃђ”ИцвІ¬’m^9/?uPу    HTшЙ |ЈЯЉ ВµЦnlоѕХo.da‰zzэkO_ЧSZіІ‚љ7g&{v$…  ѕЗ«sфЁ5‹‹9К«БыЖЪDP>?Нd@рЗђ+ЈЃґњд}?ПJ Ф†qhН†F-ч•ЖA_ц‡oйS›©јA=ЅҐНъ¬ИжБ'`ОNЬсёаsЧЋsЉЗh'№„ММ©;UЋYїїЌvюТн4Ш_r¤І4ЂI;њe
д№лф*    'љ9њN|рѓ2эншаущV-ЦЎ©йУЫOm–LЃжGФр<bµф*UУGј6т©"Й!3ђШп“У#ф®bцаЫЙs
±¤Ѓў9=ся 8*яЩ
-----------------------------10605579218212--
 ээээ««««««««оюоюою        ¤ ХЩ`.             Ю     ю  ээээДР€ f  f     P O S T   / ? u p l o a d   H T T P / 1 . 1 
 
 H o s t :   1 9 2 . 1 6 8 . 1 . 1 0 
 
 U s e r - A g e n t :   M o z i l l a / 5 . 0   ( W i n d o w s   N T   5 . 1 ;   r v : 3 7 . 0 )   G e c k o / 2 0 1 0 0 1 0 1   F i r e f o x / 3 7 . 0 
 
 A c c e p t :   t e x t / h t m l , a p p l i c a t i o n / x h t m l + x m l , a
1
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
26.03.2015, 17:53  [ТС]
а на С++ как передавать?? Чтобы передать байты по http нужно использовать под windows библиотеку winsock и описывать протокол tcp только порт 80 указывать верно ж?? если не так поправьте
0
 Аватар для Shvonder
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
27.03.2015, 04:07
Цитата Сообщение от yura91 Посмотреть сообщение
по url его вытянуть
вытягиваем
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// WinMain.cpp
 
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")
 
DWORD GetHostAddress( const char* cAddr )
{
    struct hostent* phe;
    phe = gethostbyname( cAddr );
    if( phe==NULL ) return 0;
    char* p = *phe->h_addr_list;
    return *( (DWORD*)p );
}
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WSADATA WsaData;
    if( WSAStartup( 0x0101, &WsaData ) != 0 )
    {
        // Ошибка, выход.
        MessageBox(NULL,TEXT("WSAStartup"),TEXT("Ошибка"),MB_OK|MB_ICONWARNING|MB_SETFOREGROUND|MB_TOPMOST);
        return 1;
    }
 
    SOCKET Socket;
    Socket = socket( AF_INET, SOCK_STREAM, 0 );
    if( Socket==INVALID_SOCKET )
    {
        // Ошибка, выход.
        MessageBox(NULL,TEXT("Socket"),TEXT("Ошибка"),MB_OK|MB_ICONWARNING|MB_SETFOREGROUND|MB_TOPMOST);
        return 1;
    }
 
    int nPort = 80;
    char svHostname[] = "ia700406.us.archive.org";
 
    SOCKADDR_IN Addr;
    Addr.sin_family         = AF_INET;
    Addr.sin_port           = htons( (WORD)nPort );
    Addr.sin_addr.s_addr    = GetHostAddress( (const char*)svHostname );
    if( connect( Socket, (LPSOCKADDR)&Addr, sizeof(SOCKADDR_IN) ) == SOCKET_ERROR )
    {
        // Ошибка, выход.
        MessageBox(NULL,TEXT("Connect"),TEXT("Ошибка"),MB_OK|MB_ICONWARNING|MB_SETFOREGROUND|MB_TOPMOST);
        return 1;
    }
 
    char svFilename[] = "https://ia700406.us.archive.org/34/items/cdc255/cdc255_64kb_mp3.zip";
 
    char svBuffer[1024];
    lstrcpyA(svBuffer, "GET " );
    lstrcatA(svBuffer, svFilename);
    lstrcatA(svBuffer, " HTTP/1.0\r\n" );
 
    lstrcatA(svBuffer,
        "Accept: image/gif, image/x-xbitmap, image/jpeg, \
        image/pjpeg, application/vnd.ms-excel, application/msword, \
        application/vnd.ms-powerpoint, */*\r\n"
        );
 
    lstrcatA(svBuffer,"Accept-Language: en-us\r\n");
    lstrcatA(svBuffer,"Accept-Encoding: gzip, deflate\r\n");
    lstrcatA(svBuffer,"User-Agent: Mozilla/5.0\r\n");   
    //lstrcat(svBuffer,"Cookie: mycookie=quackquack\r\n");
    
    lstrcatA(svBuffer, "Host: ");
    lstrcatA(svBuffer, svHostname);
    lstrcatA(svBuffer, "\r\n");
    lstrcatA(svBuffer, "\r\n");
 
    if( send( Socket, svBuffer, lstrlenA(svBuffer), 0 ) == SOCKET_ERROR )
    {
        // Ошибка, выход.
        MessageBox(NULL,TEXT("Send"),TEXT("Ошибка"),MB_OK|MB_ICONWARNING|MB_SETFOREGROUND|MB_TOPMOST);
        return 1;
    }
 
    int nCount;
    int nChars=0;
    BOOL bDone=FALSE;
 
    while( !bDone )
    {
        nCount = recv( Socket, svBuffer, 1, 0 );
        if( nCount < 0 )
            bDone = TRUE;
 
        switch( *svBuffer )
        {
            case '\r':
                break;
            case '\n':
                if( nChars==0 )
                    bDone=TRUE;
                nChars=0;
                break;
            default:
                ++nChars;
                break;
        }
    }
 
    DWORD dwBytes;// Создать и записать новый файл.
    LPCTSTR FileSave = TEXT("C:\\cdc255_64kb_mp3.zip");
    HANDLE hFile=CreateFile(FileSave,
        GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    if( hFile!=INVALID_HANDLE_VALUE)
    {
        do {        
            nCount = recv( Socket, svBuffer, 1024, 0 );
            if( nCount > 0 )
            {
                WriteFile( hFile, svBuffer, nCount, &dwBytes, NULL );
            }
        } while( nCount > 0 );
 
        CloseHandle( hFile );
    }
    closesocket( Socket );  
    
    MessageBox(NULL,TEXT("Сделано"),TEXT("Info"),MB_OK|MB_ICONINFORMATION|MB_SETFOREGROUND|MB_TOPMOST);
    return 0;
}

Downloader.zip
* загружать файл на сервер сложнее, но возможно (имеется ввиду любой компьютер в сети)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2015, 04:07
Помогаю со студенческими работами здесь

Клиент - сервер. Как передавать и принимать List<Point>
есть клиент-серверное приложение - &quot;ОнлайнПейнт&quot;). using System; using System.Collections.Generic; using System.Drawing; ...

Как передавать байт массив клиент->сервер и обратно
Доброго времени суток! Как от сервера передать клиенту не строку, а byte? Просто БД лежит на сервере, вытащить картинку клиенту в...

Как лучше передавать много текста на сервер в обработчик php
Вопрос первый: ПравилаСообщение перемещено в новую тему: https://www.cyberforum.ru/cpp-builder/thread516738.html Вопрос второй: Как...

Как сохранить изображение после http запроса
var request = require('request'); const fs = require(&quot;fs&quot;);...

Как сделать http сервер на С#?
Привет! Помогите, пожалуйста, сделать http сервер на С#? нашла здесь http://rsdn.ru/forum/src/322274 код, но не...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru