Upload file trong ASP.NET


Với ASP.NET, việc upload file lên server đã trở nên dễ dàng hơn rất nhiều.

Asp.NET cung cấp một điều khiển phía server gọi là FileUpload để cho phép lựa chọn file cần upload.
Khi xử lý ở phía server, thông tin về file được upload lên sẽ được truy xuất thông qua điều khiển này (hoặc qua đối tượng Request ).
Trong khuôn khổ bài viết này, tôi sẽ hướng dẫn cách tạo 1 trang upload cơ bản cho phép lựa chọn và upload file để minh họa về điều khiển FileUpload đã nói ở trên.

Bước 1: Tạo một điều khiển FileUpload và 1 Button Upload vào trang *.aspx

<asp:FileUpload ID="FileUpload1" runat="server" Width="217px" />
<asp:Button ID="btnUpload" runat="server" onclick="btnUpload_Click"  Text="Upload" />

Bước 2: Hãy đảm bảo là trong website có 1 thư mục có thể ghi được:

Trong ví dụ này tôi dùng thư mục App_data của website ASP.NET. Khi đưa lên server, hãy liên hệ với người quản trị để họ cấp quyền ghi cho thư mục bạn muốn dùng.

Bước 3: Xử lý sự kiện Click cho btnUpload

using System;
using System.Web;

public partial class Uploader : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        try
        {
            string sFolderPath = Server.MapPath(@"App_data");
            HttpPostedFile myFile = FileUpload1.PostedFile;
            string sFileName = myFile.FileName;
            myFile.SaveAs(
                string.Format(@"{0}\{1}", sFolderPath, sFileName));
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
}

Chú ý:

  1. Vì lí do an ninh, cần qui định loại file được upload lên server.(Có thể dùng Validator để kiểm tra tên file, ngoài ra có thể kiểm tra header của file ở phía server)
  2. Để tăng dung lượng được phép cho file được upload, ta cần chỉ định thông số
    <httpRuntime maxRequestLength="số bytes dung lượng"/>
    trong <system.Web>...</system.Web> của web.config

Tham khảo:

  1. Uploading Files in ASP.NET 2.0
  2. How to: Upload Files with the FileUpload Web Server Control 

( đã được xem 12037 lần từ 05/05/2009 )

Phản hồi bài viết

   
Họ tên  
Email*
Mã xác thực email
Tiêu đề*  
Nội dung*  
Đính kèm 
 
 
Lê Quý Tuy kevinletuy@...
Thầy giúp em bài này với
Em đang làm đồ án về web bán hàng. Em gặp phải vấn đề là trang sản phẩm của em lại kế thừa từ trang master và em đưa code up ảnh lên thư mục của thầy vào thì nó lại không up được ảnh lên. Thầy giúp em với ạ. Em cảm ơn thầy!
Dinh Hoang Viet vietdh@...
Thanks thầy Dũng !
Thanks thầy . SV 05B5
Nguyễn Duy Khánh ngduykhanh1707@...
Không upload được một số files
Em làm như hướng dẫn nhưng khi upload một số file kiểu rar hoặc pdf, chm,... thi báo lỗi
"The connection was reset. The connection to the server was reset while the page was loading."
Mong thấy sớm giúp em với. :(
Lê Hữu Dũng huudungle@...
re nguyenthiminhtrangit@
Chào em,
Em có thể tham khảo các trang web bán hàng trên mạng hiện nay để biết phía người dùng cuối thì cần có những trang nào (nói đúng hơn là cần những chức năng nào)

Còn về phía người quản trị thì phải có những trang riêng để cập nhật thông tin, quản lý dữ liệu của website

làm như thế nào thì chắc em phải được học trong môn học rồi chứ, hơn nữa sẽ rất khó để trả lời gọn trong 1 hay vài comment cho em được.
nguyễn thị minh trang nguyenthiminhtrangit@...
hỏi thầy mầy bài tập liên quan tới áp.net
chào thầy chung em đang có một đề tài về nhà làm. em chọn bên lĩnh vực bán hàng hàng em bán là máy tính. giờ phải làm những trang gì và làm như thế nào. em muốn làm trang Templates bên lập trình asp.netthì làm sao được thầy.em rất mọng nhận được câu trả lời so9m1 nhất từ thầy em xin cam ơn thầy!
Trần Văn Hòa tranhoa1991gl@...
thank a
hay quá, e cũng đang học môm này
my lan pelan1311@...
Thiết kế website bằng asp.net
Anh ơi ! Có thể chỉ giúp em cách làm trang web về thời trang teen bằng ASP.NET ko ? Em đang rất cần đây là đề tài bọn em, em thiết kế rồi nhưng sao khi kết nối với CSDL(SQL) hay bị lỗi lắm, em muốn làm 1 trang web hoàn chỉnh anh giúp em với nhé. Có cả CSDL nữa đó.
Anh giúp em nhé !
Hải Đăng dangquest@...
Cảm ơn bạn nhìu.
Bài này rất hay, cảm ơn bạn nhìu nhé !
nguyen duc ngan nganIIT@...
sua bai
thầy sửu giúp em bài này với ah.Nó bị 1 lỗi a!em cám ơn thầy!
Tệp đính kèm
  1. websidetintuc.zip(756 lượt tải về)
Đỗ Đức Hoàng duchoang24588@...
Xin hướng dẫn Upload file ASP
Hiện em đang làm đề tài web bằng ASP có chức năng Upload .Thầy có thể hướng dẫn thêm 1 bài upload bằng ASP được không ạ
Trang 1, 2
Tôi là Lê Hữu Dũng
Giảng viên CNTT
Khoa Công nghệ Tin học
Viện Đại học Mở Hà Nội