Ngôn ngữ ASP.NET - Điều khiển FileUpload
Điều khiển FileUpload của Web Forms
Điều khiển FileUpload cho phép người sử dụng Upload file từ chính ứng dụng Web của mình. File sau khi Upload có thể lưu trữ ở 1 nơi nào đó có thể là trên ổ cứng hay trong Database. Điều khiển FileUpload hỗ trợ các thuộc tính sau:
Để tạo điều khiển FileUpload có thể kéo thả từ toolbox hoặc viết code
Cú pháp tạo điều khiển FileUpload
< asp:FileUpload ID="FileUpload1" runat="server"/>
Phía server xử lý code trên trả về cho trình duyệt dạng HTML:
<input name="FileUpload1" id="FileUpload1" type="file">
Bảng thuộc tính
Thuộc tính | Ý nghĩa |
(ID) | Qui định tên của điều khiển. Tên của điều khiển là duy nhất. |
AccessKey | Qui định ký tự để di chuyển nhanh đến điều khiển - ký tự xử lý phím nóng. |
Attributes | Tập hợp các thuộc tính của điều khiển HTML |
BackColor | Qui định màu nền của điều khiển. |
BorderColor | Qui định màu đường viền của điều khiển. |
BorderStyle | Qui định kiểu đường viền của điều khiển. |
BorderWidth | Qui định độ rộng của đường viền. |
CssClass | Qui định hình thức hiển thị của điều khiển qua tên CSS. |
Enabled | Qui định điều khiển có được hiển thị hay không. Giá trị mặc định của thuộc tính này là True – được phép hiển thị. |
Font | Qui định Font hiển thị cho điều khiển |
ForeColor | Qui định màu chữ hiển thị trên điều khiển |
Height | Qui định chiều cao của điều khiển |
ToolTip | Dòng chữ sẽ hiển thị khi rê chuột vào điều khiển. |
Width | Qui định độ rộng của điều khiển. |
Enable | Cho phép bạn vô hiệu hoá điều khiển FileUpload. |
FileBytes | Cho phép lấy nội dung file đã được upload như một mảng Byte. |
FileContent | Cho phép lấy nội dung của file đã được upload theo dòng dữ liệu |
FileName | Lấy tên file được Upload |
HasFile | Trả về giá trị đúng khi File được Upload |
Điều khiển FileUpload hỗ trợ các phương thức
- Focus: Enables you to shift the form focus to the FileUpload control.
- SaveAs: Cho phép bạn lưu file được upload lên hệ thống.
Thuộc tính PostedFile của điều khiển FileUpload cho phép lấy thông tin từ File upload được bao bọc trong đối tượng HttpPostedFile. đối tượng này sẽ đưa thêm thông tin về Upload
file.
Lớp HttpPostedFile gồm các thuộc tính sau:
- ContentLength: Lấy về kích thước của File Upload tính theo byte
- ContentType: Lấy kiểu MIME của File Upload
- FileName: Cho phép lấy tên của file được upload.
- InputStream: Enables you to retrieve the uploaded file as a stream.
Lớp HttpPostedFile chỉ hỗ trợ phương thức
- SaveAs: Cho phép bạn lưu file được upload lên hệ thống.
Window thuộc tính của điều khiển FileUpload
Ví dụ: Trong ví dụ sau, chúng ta sẽ thực hiện Upload tập tin lên server, cụ thể hơn, tập tin vừa Upload sẽ được lưu trong thư mục Upload.
Trang FileUpload.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUpload.aspx.cs" Inherits="FileUpload" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 175px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width:100%;">
<tr>
<td class="auto-style1">Chọn tập tin:</td>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
</td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td>
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload" Width="83px" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblNotice" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Code behind
FileUpload.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class FileUpload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUpload_Click(object sender, EventArgs e)
{
string sTenfile;
//Tách lấy tên tập tin
sTenfile = FileUpload1.FileName;
//Thực hiện chép tập tin lên thư mục Upload
FileUpload1.SaveAs(MapPath("~/images/" + sTenfile));
lblNotice.Text = "Đã upload thành công";
}
}
Thực thi trang web
Click nút upload nếu thành công ra kết quả