Ternyata selama pengembangan proyek kita (file disimpan di database), file yang diunduh ditulis dalam bentuk header http. Sebagai berikut Response.Clear();
Respon.Buffer = false;
Response.AppendHeader("Disposisi Konten","attachment;filename="+HttpUtility.UrlEncode(fileWJNR.Rows[0]["WJM"].ToString(),System.Text.Encoding.UTF8));
Response.BinaryWrite(aliran byte);
Response.End();
Namun, setelah proyek diterapkan, saat pengguna menjelajah di IE6.0, proyek tersebut akan dicegat, ditutup, dan keluar. Saat itu rekan saya menggunakan pop-up form, lalu "klik untuk mendownload" di pop-up form tersebut, agar tidak disadap.
Saya mencoba solusi yang lebih langsung, yaitu pertama-tama membuat file sementara ketika mengklik, dan kemudian menautkan ke file sementara, yaitu, kotak dialog unduh atau buka file akan muncul. Kodenya sangat sederhana:
string fileName = "nama file" //gunakan id file
string tempFilePath = Permintaan.PhysicalPath;
tempFilePath = tempFilePath.Substring(0,tempFilePath.LastIndexOf("\"));
tempFilePath += " \temp\ " + Namafile;
FileStream = FileStream baru(tempFilePath,FileMode.OpenOrCreate,FileAccess.ReadWrite)
;
{
byte[] docBody = (byte[])fileWJNR.Rows[0]["WJNR"]; //Konversi
file.Write(docBody, 0, docBody.Length);
file.Tutup();
Response.Redirect("temp\" + Namafile);
}
menangkap
{
file.Tutup();
}