CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 250

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

.

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.)

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.