Welcom to my life!

Tâm trạng

Đóng

Tâm trạng

Từ 26-08-2007 đến 02-07-2009

Danh sách bài đã đăng

Sửa Đóng
Thư mục: Tổng hợp |
Đăng ngày: 01:44 02-07-2009

Code cho client có thể download từ server

Bắt đầu in từ : kythuatvien.com™
Mục lục: Software column
Tên diễn đàn: ASP, ASP.Net...
Forum Discription: Thảo luận về lập trình bằng ngôn ngữ ASP, ASP.Net...
URL: http://www.kythuatvien.com/forum/forum/forum_posts.asp?TID=1898
Ngày In: 01/7/2009 lúc 16:00


Chủ đề: Code cho client có thể download từ server


được đăng bởi: proman
Đề Tài: Code cho client có thể download từ server
Ngày đăng bài: 22/4/2008 lúc 22:37


Thường khi download 1 file chúng ta thường dùng một link trỏ đến file đó để download. Thường cách này thành công với các file zip, rar .... là những file không thể hiển thị trên trình duyệt.

đối với các file khác như file hình, file aspx, asp .... là những file hiển thị được trên browser thì cách làm như trên sẽ bị phá sản.

Mình xin giới thiệu 1 function cho phép download bất cứ file nào trên server.
Cụ thể như sau:


using System.IO;

 

  
private void ForceDownload(string fname)
    {
        
string path MapPath(fname);
        string 
name Path.GetFileName(path);
        
Response.AppendHeader("content-disposition","attachment; filename=" + name);
        
Response.WriteFile(path);
        
Response.End()
    
}
  


tham số truyền vào là fname là tên file cần download. Ở đây chúng ta truyền vào là địa chỉ tương đối.
hàm MapPath(fname); sẽ lấy địa chỉ vật lý của file đó (địa chỉ trên server).
và gửi file xuống client

Khi dữ liệu từ server được gửi xuống client thì Header sẽ cho browser biết dạng của dữ liệu gửi từ server và với header là "
content-disposition" thì browser sẽ hiển thị hộp thoại save file.

Ngoài ra nhiều người còn sử dụng header là:

  • "application/x-msdownload"
  • "application/octet-stream"

để bắt browser phải hiện hộp thoại save file.
Bro nào hiểu rõ về các header có thể giúp mình giải thích rõ hơn ...

Đã test với IE6 và kết quả ... OK.
 

  • Miễn Phí từ giờ đến tháng 12: Học English theo một cách mới nhé. Những bài học chỉ có 4 phút và bạn đã thấy rõ ràng một sự đi lên trong ngôn ngữ của mình. Bài học mẫu: http://lonbay.com/2009/09/28/thất-bại-chỉ-dơn-giản-la-một-cơ-hội-dể-bắt-dầu-lại-2/

Bình luận mới nhất

Sửa Đóng

Bình luận mới nhất

Bạn chưa có trang yêu thích nào.

Thống kê

Sửa Đóng

Thống kê

  • Khách hôm qua: 1
  • Tổng số khách: 12
  • lượt xem hôm nay: 0
  • Tổng lượt xem: 41
  • Bài viết: 44
  • Hình ảnh: 0
  • Lời bình : 1
 

R H
G S
B V

#