Upload multiple file trong Asp.net

Hôm nay tôi muốn giới thiệu một đoạn code nhỏ nhưng khá hay, cho phép upload nhiều file trong Asp.net. Chức năng này cho phép người sử dụng lựa chọn nhiều file trước khi click Upload. Và trả về thông báo sau khi upload thành công ở mỗi file lựa chọn.

1. Chuẩn bị

- Ở đây chúng ta có sử dụng 1 jquery plugin multifle upload (các bạn có thể download ở file đính kèm cuối bài viết). Tạo một ví nhỏ với cấu trúc như sau.

2. Code html

- Trước tiên ta cần thêm 2 thư viện jquery vào 

<script src="js/jquery.js"></script>
<script src="js/jquery.MultiFile.pack.js"></script>

- Sau đó kéo một FileUpload , Lable và một Button vào page *.aspx

<asp:FileUpload ID="file_upload" class="multi" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="Upload"  OnClick="btnUpload_Click" />
<br />
 <asp:Label ID="lblMessage" runat="server" />

3. Code Behind

- Chúng ta cần sử dụng thư viện

using System;
using System.Web;
using System.IO;

- Việc hiển thị file khi lựa chọn ở phía giao diện người dùng được jquery plugin thực hiện, để lưu các file đã lựa chọn upload và trả về thông báo ta cần đoạn code như dưới đây.

HttpFileCollection fileCollection = Request.Files;
        for (int i = 0; i < fileCollection.Count; i++)
        {
            HttpPostedFile uploadfile = fileCollection[i];
            string fileName = Path.GetFileName(uploadfile.FileName);
            if (uploadfile.ContentLength > 0)
            {
                uploadfile.SaveAs(Server.MapPath("~/fileUpload/") + fileName);
                lblMessage.Text += fileName + "Saved Successfully<br>";
            }
        }

- Ở đây các file được upload sẽ lưu vào folder fileUpload.

4. Kết luận

- Chức năng này khá hay và có thể tùy biến theo yêu cầu cụ thể của các bạn. Khi đưa vào dự án cụ thể có thể cần tối ưu code để lựa chọn những extension cho phép upload, dung lượng tối đa....

- Các bạn có thể download ví dụ ở file đính kèm cuối bài viết.

Download Source

Related Post


Cải thiện tốc độ và hiệu suất web ASP.NET- Phần 5
Thursday, March 20, 2014
Tiếp theo các phần trước, hôm nay chúng ta sẽ nghiên cứu thêm một số thủ thuật để tối ưu và cải thiện tốc độ website Asp.net
Cải thiện tốc độ và hiệu suất web ASP.NET-phần 4
Tuesday, March 18, 2014
Tiếp theo các phần trước, hôm nay mình xin tiếp tục giới thiệu một số các thủ thuật khác khi code và sử dụng tài nguyên trên web ASP.NET    
Search

Đăng ký nhận bài mới


Category

Blog Archive