PureBasic

WriteCGIData()

Синтаксис

Result = WriteCGIData(*Buffer , Size)

Описание


Записывает двоичные данные в вывод CGI. При отправке двоичных данных заголовок 'content-type' должен быть установлен в 'application/octet-stream'.

Параметры

*Buffer Буфер памяти для записи.
Size Размер (в байтах) отправляемых данных.

Возвращаемое значение

Возвращает не нулевое значение, если данные были успешно записаны в вывод CGI.

Пример

  If Not InitCGI() Or Not ReadCGI()
    End
  EndIf
  
  WriteCGIHeader(#PB_CGI_HeaderContentType, "application/octet-stream")
  WriteCGIHeader(#PB_CGI_HeaderContentDisposition, "attachment; filename=image.png", #PB_CGI_LastHeader)
  
  If ReadFile(0, #PB_Compiler_Home + "examples/sources/data/world.png")
    Size = Lof(0)
    *Buffer = AllocateMemory(Size)
    ReadData(0, *Buffer, Size) ; Читать весь файл в новом выделенном буфере.
    
    WriteCGIData(*Buffer, Size) ; Записать весь буфер в выход CGI.
    
    CloseFile(0)
  EndIf

См. также

InitCGI(), WriteCGIHeader(), WriteCGIFile()

Поддерживаемые OS

Все

<- WaitFastCGIRequest() - Оглавление CGI - WriteCGIFile()->