|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Снимок экрана отправить по сети не сохраняя на диск
Доброго времени суток, уважаемые.
Обращаюсь к Вам за подсказкой (HELP) Необходимо отправить снимок экрана на сайт, но при этом полученное изображение на диске компьютера сохранять не нужно. Мысли меня наводят на - JpegStream:=TMemoryStream.Create; Но вот что делать дальше??? Код:
uses Jpeg; procedure TForm1.PrintScreen; const URL : String = 'http://xxxxxx.xx/xxx.php'; var bm: TBitMap; JpegIm: TJpegImage; ImgName: String; //JpegStream : TMemoryStream; begin ImgName := 'skrin.jpg'; bm := TBitMap.Create; bm.Width := Screen.Width; bm.Height := Screen.Height; BitBlt(bm.Canvas.Handle, 0, 0, bm.Width, bm.Height, GetDC(0), 0, 0, SRCCOPY); JpegIm := TJpegImage.Create; JpegIm.Assign(bm); JpegIm.CompressionQuality := 95; // от 0 до 100 качество JpegIm.Compress; //JpegIm.SaveToFile(ImgName); bm.Destroy; JpegIm.Destroy; end; Последний раз редактировалось kyran29, 07.01.2016 в 20:09. |
#2
|
||||
|
||||
use Write(), Luke
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
NumLock можно по-подробнее - use Write(), Luke
|
#4
|
|||
|
|||
Ну, тут надо знать в каком виде сервер ожидает данные.
Т.к. url не приведен, то могу только гадать. Вот посмотри на похожие вопросы (не совсем то, но принцип должен быть тот же): http://stackoverflow.com/questions/2...-not-the-usual http://stackoverflow.com/questions/1...rough-sendgrid |
#5
|
|||
|
|||
Цитата:
PHP код:
|
#6
|
|||
|
|||
Цитата:
|
#7
|
|||
|
|||
Цитата:
PHP код:
|
#8
|
||||
|
||||
В дельфовом HTTP-компоненте, пост-запрос принимает поток байт, просто его туда отправь и всё.
Luke. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#9
|
|||
|
|||
Цитата:
Код:
JpegStream := TMemoryStream.Create; JpegIm.SaveToStream(JpegStream); Form1.IdHTTP1.Post(URL, JpegStream); JpegStream.Free; Последний раз редактировалось kyran29, 08.01.2016 в 20:19. |
#10
|
||||
|
||||
Агась.
Только байтовый поток перед отправкой в начало перемотай. Ну и про try finally не стоит забывать. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
kyran29 (11.01.2016)
|
#11
|
|||
|
|||
Цитата:
Блин можешь пример |
#12
|
||||
|
||||
Код:
JpegStream.Position := 0 — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
kyran29 (11.01.2016)
|
#13
|
|||
|
|||
Цитата:
Пришлось добавить еще одну переменную Код:
var FormData:TIdMultiPartFormDataStream; ну вот так все нормально, файл отправляется, если есть ошибки try инструкции прошу поправить Код:
FormData:=TIdMultiPartFormDataStream.Create; try Form1.idHTTP1:=TIdHTTP.Create(nil); FormData.AddObject('file', 'image/jpeg', JpegStream, 'name.jpg'); Form1.IdHTTP1.Post(URL, FormData); finally FreeAndNil(FormData); JpegStream.Free; bm.Destroy; JpegIm.Free; Form1.IdHTTP1.Free; |
#14
|
|||
|
|||
Цитата:
принимаем файл на сервере так: PHP код:
Последний раз редактировалось kyran29, 11.01.2016 в 22:42. |