Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: cgi binary data xfer...

From: andrew:martin:colenso:school at: 17-Sep-2003 8:53

max wrote:
> Q1: how do I initiate a binary xfer in cgi/html, so that instead of
displaying binary data as a lump of text in the browser, I get a file transfer dialog.
> Q2: how do I make 'print work like a write/binary so that the read
data actually stays binary... Hi, max! Here's what I use in my Wiki script: MIME: make object! [ Extension_MIME: load %"Extension MIME.txt" Type?: func [File [file!]] [ select Extension_MIME Extension? File ] Data: function [File [file!]] [Data] [ Data: read/binary File print [ "Content-Type:" any [ Type? File 'application/octet-stream ] newline ] write-io system/ports/output Data length? Data Data: none quit ] ] View_File: func [Folder [file!] File [file!]] [ File: any [ if exists? Wiki_Files/:Folder/:File [ Wiki_Files/:Folder/:File ] if exists? Folder/:File [ Folder/:File ] if exists? File [ File ] Rebol/script/header/File ] if not found? find Inline_Extensions extension? File [ print rejoin [ "Content-Disposition: attachment; " {filename="} form last split-path File #"^"" ] ] MIME/Data File ] The key part is this line: write-io system/ports/output Data length? Data And these lines: print [ "Content-Type:" any [ Type? File 'application/octet-stream ] newline ] I hope that helps! Andrew J Martin Attendance Officer & Information Systems Trouble Shooter Colenso High School Arnold Street, Napier. Tel: 64-6-8310180 ext 826 Fax: 64-6-8336759 DISCLAIMER: Colenso High School and its Board of Trustees is not responsible (or legally liable) for materials distributed to or acquired from user e-mail accounts. You can report any misuse of an e-mail account to our ICT Manager and the complaint will be investigated. (Misuse can come in many forms, but can be viewed as any material sent/received that indicate or suggest pornography, unethical or illegal solicitation, racism, sexism, inappropriate language and/or other issues described in our Acceptable Use Policy.) All outgoing messages are certified virus-free by McAfee GroupShield Exchange Phone: +64 6 843 5095 or Fax: +64 6 833 6759 or E-mail: [postmaster--colenso--school--nz]