Avatar billede jbh Nybegynder
09. maj 2001 - 11:39 Der er 1 løsning

\"Streaming\" af pdf

Jeg vil lave et lille CGI-program, der kan \"streame\" pdf-filer.

Humlen i programmet er nedenstående:

char* buffer = (char*) malloc(5*sizeof(char));
int numread;
printf(\"Content-Type: application/pdf\\n\\n\");
while (!feof(infile)) {
  numread = fread(buffer, sizeof(char), 5, infile);
  fwrite(buffer, sizeof(char), numread, stdout);
}

Acrobat reader starter godt nok, men vinduet forbliver blankt. Sjovt nok virker med en tekstfil... Pdf-filen er ok.
Avatar billede jbh Nybegynder
10. maj 2001 - 13:33 #1
Lidt roden rundt og prøven frem og tilbage og jeg fandt løsningen - hvis nogen skulle være interreseret:

long contentLength = _filelength(infile);
char* buffer = (char*) malloc(256*sizeof(char));
int numread;

_setmode(1, _O_BINARY);

char* ct = new char[400];
sprintf(ct, \"Content-type: %s\\nContent-length: %1d\\r\\n\\r\\n\", type, contentLength);
_write(1, ct, strlen(ct));  // write cgi header

while (!_eof(infile)) {
  numread = _read(infile, buffer, 256);
  _write(1, buffer, numread);  // write to stdout
}
_commit(1);
_close(infile);

Ovenstående virker med alle typer af binære filer (gif, jpg, pdf, avi, etc.) Eneste krav er, at der eksisterer et plug-in til filtypen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester