250
Chương 7: ASP.NET và Web Form
7.
7.
Cho phép ng
i dùng upload file
ườ
Cho phép ng
i dùng upload file
ườ
Bạn cần tạo một trang cho phép người dùng upload một file.
Sử dụng điều kiểm
HtmlInputFile
, thiết lập kiểu mã hóa của form là
multipart/form-data
, và lưu file bằng phương thức
HtmlInputFile.PostedFile.
SaveAs
.
Vì ASP.NET thực thi trên server nên không có cách nào để truy xuất các tài nguyên trên máy
client, bao gồm file. Tuy nhiên, bạn có thể sử dụng điều kiểm
System.Web.UI.
HtmlControls.HtmlInputFile
để cho phép người dùng upload một file. Điều kiểm này trả về
phần tử HTML
<input type="file">
, hiển thị một nút Browse và một hộp chứa tên file.
Người dùng nhắp vào nút Browse và chọn một file. Bước này diễn ra một cách tự động và
không đòi hỏi bất kỳ đoạn mã tùy biến nào. Sau đó, người dùng phải nhắp vào một nút khác
(bạn phải tạo nút này) để bắt đầu quá trình upload.
Để tạo một trang cho phép upload file, bạn cần thực hiện các bước sau đây:
•
Thiết lập kiểu mã hóa của form là
multipart/form-data
. Để thực hiện thay đổi này, tìm
thẻ
<form>
trong file .aspx và điều chỉnh như sau:
<form id="Form1" enctype="multipart/form-data" runat="server">
•
Thêm điều kiểm
HtmlInputFile
vào trang. Trong Microsoft Visual Studio .NET, bạn sẽ
tìm thấy điều kiểm này dưới thẻ HTML của hộp công cụ, với tên là File Field. Một khi
đã thêm điều kiểm này, bạn nhắp phải vào nó và chọn Run As Server Control để tạo thẻ
<input type="file" runat="server">
.
•
Thêm một
Button
khác để bắt đầu quá trình chuyển giao file đã được chỉ định (bằng
phương thức
HtmlInputFile.PostedFile.SaveAs
).
Dưới đây là phần mã cho trang upload file:
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.IO;
public class UploadPage : System.Web.UI.Page {
protected System.Web.UI.WebControls.Label lblInfo;
protected System.Web.UI.WebControls.Button cmdUpload;
protected System.Web.UI.HtmlControls.HtmlInputFile FileInput;
// (Bỏ qua phần mã designer.)