Originally from : "Ganius Tanuel" <[EMAIL PROTECTED]>
Originally dated: Thu, 18 Jan 2001 22:02:03 +0700
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<e-WebAuthor>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~Forum Diskusi WebAuthoring untuk Kristen-Katholik~~~~~~~~~~~
Hehehe.. jangan 'brutal' gitu dong :) Diminta untuk right-click saja sulit,
gimana diminta ganti browser?
Sebenarnya bisa diakali dengan menambahkan HTTP header
"Content-Disposition". Tapi diingatkan dulu, header ini tidak termasuk
standard HTTP, tetapi banyak browser yang mendukungknya, terutama browser
'besar' seperti IE dan NN. Berikut cuplikan dari RFC 2616 (HTTP/1.1):
15.5 Content-Disposition Issues
RFC 1806 [35], from which the often implemented Content-Disposition
(see section 19.5.1) header in HTTP is derived, has a number of very
serious security considerations. Content-Disposition is not part of
the HTTP standard, but since it is widely implemented, we are
documenting its use and risks for implementors. See RFC 2183 [49]
(which updates RFC 1806) for details.
Secara garis besar, header "Content-Disposition" ini berguna untuk
memberitahu user-agent, apakah file mau ditampilkan secara "inline" atau
harus diproses lebih dahulu (biasanya di-save, "attachment"). Selain itu
berguna untuk memberitahu user-agent (browser) default filename yang perlu
di-save.
Implementasinya di ASP kurang lebih sebagai berikut:
Buat sebuah file ASP yang bertujuan untuk mendownload, misalkan
"download.asp"
File ini isinya adalah: tambahkan header "Content-Disposition", baca isi
file yang diinginkan secara 'binary', lalu 'tampilkan' isi file secara
binary (gunakan Response.BinaryWrite).
Contoh, sebuah file download.asp menerima sebuah querystring "file=xxx":
<%
file = Request.QueryString("file")
FileName = Server.MapPath("data\" & file)
Set oFs = Server.CreateObject("Scripting.FileSystemObject")
cdHead = "attachment; filename=" & file & ";"
Response.AddHeader "Content-Disposition", cdHead
Set oStream = oFs.OpenTextFile(FileName, 1, False, -1)
Do Until oStream.AtEndOfStream
Response.BinaryWrite oStream.Read(1024)
Loop
oStream.Close : Set oStream = Nothing
Set oFs = Nothing
%>
Untuk lebih jelas mengenai header "Content-Disposition", dapat dibaca lebih
lanjut di RFC-2183.
PS: Sedikit "bug" dengan menggunakan metode ini, di IE setelah file di-save,
tampak logo IE/Windows tetap berputar seolah menunggu masih ada data yang
dikirim. Hal ini tidak berakibat apa-apa, cukup tekan Stop.
Regards,
.Gt
From: Aku <[EMAIL PROTECTED]>
> suruh jangan pake IE aja browsernya
> ______________________________________________________________________
> R> Maaf, mungkin saya tanyanya kurang jelas. Begini, saya lagi develop
> R> web site buat satu perusahaan yang minta supaya product list nya bisa
> R> di convert ke Excel sehingga bisa didownload sama clients dari web
> R> sitenya. Tapi para clients sering ngomel karena link yang buat
> R> download bukan men-download tapi malah buka file di browser (maklum
> R> engkong2 dan encim2 kali, engga tahu musti right click). Biar udah di
> R> kasih instruksi untuk right click, perusahaan ini masih tidak puas
> R> karena solusinya kurang user-friendly. Jadi bisa engga kita bikin
> R> application(web site) yang mematikan plug-in tersebut. Web ini pake
> R> ASP.
I-KAN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% e-WebAuthor
Permulaan hikmat adalah takut akan TUHAN! Mazmur 111:10a / Amsal 9:10a
-----------------------------------------------------------------------
WEB--> http://hub.xc.org/scripts/lyris.pl?enter=i-kan-webauthor
SUBSCRIBE--> To: [EMAIL PROTECTED], Isi/Body: kosong
UNSUBSCRIBE--> To: [EMAIL PROTECTED], Isi/Body: kosong