New articles Năng lực quản lý: nhân tố thứ năm     ♥ Lựa chọn mục tiêu cuộc đời     ♥ 10 bí quyết cân bằng công việc và gia đình     ♥ Cô đơn trên mạng     ♥ Chứng khoán: Giấc mơ và ác mộng     ♥ Tám     ♥ Những tính năng của blog VnVista     ♥ Các mạng xã hội thống trị Google     ♥ Điều gì tạo nên một giám đốc công nghệ thông tin giỏi?     ♥ Cố gắng xóa bỏ những ấn tượng xấu     ♥ Cần một cách làm ăn mới     ♥ Tiếp thị hướng đến doanh nhân     ♥ Đưa cửa hàng thật lên chợ ảo     ♥ Bí quyết quản lý các nhân viên trẻ     ♥ Một số câu hỏi phỏng vấn “đặc biệt” của Microsoft     ♥ 4 bài học thành công trong kinh doanh     ♥ Tạo dựng hình ảnh một cô gái trẻ chuyên nghiệp     ♥ Góc “khác” của thế giới online đêm     ♥ Phong cách người Mỹ     ♥ Chỉ nghĩ đến tiền cũng làm người ta ích kỷ     
New blog entries Các chất liệu thiết kế, sản xuất giày bảo hộ      ♥ Tư vấn chọn giày bảo hộ lao động phù hợp      ♥ SHEET Thương tình nhân      ♥ SHEET Liêu xiêu đường tình      ♥ SHEET Tình yêu lung linh      ♥ Các loại visa Qatar phổ biến mà bạn cần biết      ♥ Tủ dụng cụ 2 cánh 5 ngăn KT: 1000Wx500Dx1800Hmm      ♥ Tủ dụng cụ 2 cánh 5 ngăn KT: 1000Wx500Dx1800Hmm      ♥ Tủ dụng cụ 2 cánh 5 ngăn KT: 1000Wx500Dx1800Hmm      ♥ SHEET Nếu đời không có anh      ♥ Phụ Gia Nhựa Làm Giảm Co Ngót Sau Gia Công Ép Phun      ♥ Địa chỉ mua giày bảo hộ nam chính hãng      ♥ SHEET Giây phút êm đềm      ♥ Máy Triệt Lông Công Nghệ Cao K18A      ♥ Cách chọn giày bảo hộ tại Đà Nẵng      ♥ hình ảnh Yae Miko Game Genshin Impact      ♥ Cách bảo quản và vệ sinh giày bảo hộ lao động      ♥ SHEET Yêu 1 người sao buồn đến thế      ♥ Bí quyết bảo quản giày bảo hộ lao động      ♥ Máy Triệt Lông Lạnh Diode Laser K17      
 
Reply to this topicStart new topicStart Poll

Liệt Kê · Bình Thường · [ Tách Biệt+ ]

Tạo file upload với VB.NET


tuyetnhietdoipro
post Aug 30 2007, 09:45 AM
Gửi vào: #1


Group Icon

---Âu Dương Vô Ca---
******
Thành viên: 29,397
Nhập: 3-August 07
Bài viết: 372
Tiền mặt: 0
Thanked: 28
Cấp bậc: 17
------
Giới tính: Male
Sinh nhật: 11 Tháng 4 - 1993
------
Xem blog
Bạn bè: 76 (Xem)
Thêm vào nhóm bạn bè
Gửi thiệp điện tử
Trang thông tin





Tạo file upload với VB.NET


Upload file là một tính năng phổ biến thường được người dùng sử dụng để upload tài liệu lên các ứng dụng dựa trên máy chủ. Đây là phần tất yếu trong nhiều ứng dụng từ cơ bản đến phức tạp hơn. Trong bài này, tôi sẽ hướng dẫn một cách đơn giản để thêm tính năng Upload File vào các ứng dụng ASP.NET và được tạo trong VB.NET. Thông qua mã ví dụ trong VB.NET của tài liệu này, bạn có thể tạo một hàm tương tự với C# (nếu đó là ngôn ngữ mà bạn thường dùng) bằng cách thay đổi một chút trong code.

Tùy thuộc vào các ứng dụng khác nhau mà người dùng sẽ có nhiều lựa chọn khác nhau trên website. Một số hệ thống như hệ thống quản lý tài liệu, hệ thống quản lý nội dung, hệ thống quản lý yêu cầu… sẽ cho phép người dùng upload các tài liệu khác nhau.

Trong ví dụ của bài này, bạn sẽ phải tạo một ứng dụng web ASP.NET đơn giản để cho phép upload một file lên máy chủ.

Mở Visual Studio.Net và tạo một Project mới với các thiết lập sau:

Project Type: Visual C# Projects
Templates: ASP.NET Web Application
Location: http://localhost/FileUpload
Trên web form:

1. Kích vào Toolbox, chọn phần HTML, tìm đến phần điều khiển File Field và kéo thả nó lên trên form.

2. Kích chuột phải lên phần điều khiển và thiết lập "Run as Server Control".

3. Thay đổi thuộc tính Name của điều khiển thành “File1”.

4. Lại vào Toolbox, chọn phần Web Forms, tìm một Button, và kéo thả nó lên trên form.

5. Thiết lập thuộc tính Text thành “Upload” và ID thành "cmdUpload".

Màn hình sẽ hiển thị như sau:

user posted image

Thêm đoạn mã sau vào phần định nghĩa form của file .aspx:

encType="multipart/form-data"

Và kết quả là toàn bộ thẻ form sẽ như sau:

method="post"
encType="multipart/form-data"
runat="server">

Thêm đoạn mã sau vào phần mô tả của file .vb:

Dim sFileDir As String = "C:\"
Dim lMaxFileSize Long = 4096

Hãy nhớ rằng giá trị trên sẽ có thể được chỉnh sửa tùy thuộc vào ứng dụng bạn dùng. Bạn cũng có thể tạo cho chúng động và ứng dụng sẽ đọc các giá trị này từ một cơ sở dữ liệu hoặc từ một file XML.

Thêm đoạn mã sau vào phần trên cùng của trang .vb:

Imports System.IO

Thêm vào trang mã .vb thủ tục sau:

Private Sub DeleteFile(ByVal strFileName As String)
If strFileName.Trim().Length > 0 Then
Dim fi As New FileInfo(strFileName)
If (fi.Exists) Then 'if file exists, delete it
fi.Delete()
End If
End If
End Sub
Thêm đoạn mã sau vào file .vb:

Private Sub cmdUpload_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdUpload.Click
'check that the file has been selected and it's a valid file
If (Not File1.PostedFile Is Nothing) _
And (File1.PostedFile.ContentLength > 0) Then
'determine file name
Dim sFileName As String = _
System.IO.Path.GetFileName(File1.PostedFile.FileName)
Try
If File1.PostedFile.ContentLength <= lMaxFileSize Then
'save file on disk
File1.PostedFile.SaveAs(sFileDir + sFileName)
lblMessage.Visible = True
lblMessage.Text = "File: " + sFileDir + sFileName + _
" Uploaded Successfully"
Else 'reject file
lblMessage.Visible = True
lblMessage.Text = "File Size if Over the Limit of " + _
lMaxFileSize
End If
Catch exc As Exception 'in case of an error
lblMessage.Visible = True
lblMessage.Text = "An Error Occured. Please Try Again!"
DeleteFile(sFileDir + sFileName)
End Try
Else
lblMessage.Visible = True
lblMessage.Text = "Nothing to upload. Please Try Again!"
End If
End Sub
Nhấn F5 để biên dịch và chạy project. Màn hình giao diện sẽ như sau:

user posted image

Kích vào Browse và chọn một file để upload. Màn hình giao diện như sau:

user posted image

Kích vào Upload. Bạn sẽ nhận được một thông báo hiển thị ở phía trên:

user posted image

Bạn nên kiểm tra lại xem file đã copy tới thư mục được định nghĩa trong mã code hay chưa.

Cách làm việc

Giá trị sFileDir và lMaxFileSize được viết mã cố định ở phía trên thay vì có thể được gọi từ cơ sở dữ liệu hoặc file cấu hình XML. sFileDir chỉ định rõ vị trí trên máy chủ để file upload có thể được lưu vào. lMaxFileSize chỉ định dung lượng file tối đa cho việc upload.

Thủ tục DeleteFile được sử dụng để xóa file đã được copy lên máy chủ. Như một phần của quá trình cleanup thông thường, sau khi file upload đã xác định được vị trí, file sẽ được đưa vào cơ sở dữ liệu hoặc vào vị trí nào đó trên máy chủ tùy thuộc vào các nhu cầu của ứng dụng. Trong ví dụ này, không nên copy file tới vị trí khác bởi vì bạn không thể gọi thủ tục này trừ khi có lỗi xuất hiện và cần chuyển file đó đi. DeleteFile có thể được gọi sau khi file đã được chuyển tới cơ sở dữ liệu hoặc tới vị trí khác nhằm dọn đi một cách có chủ đích các file dư thừa. Nó chấp nhận một tên đầy đủ (tên thư mục và tên file) như một đối số và cần xác minh lại rằng file đó đang thực sự tồn tại và độ dài của đối số là lớn hơn 0. Sau đó, nó sẽ thử xóa file bằng sử dụng đối tượng FileInfo.

Khi người dùng kích vào cmdUpload, trước tiên bạn phải kiểm tra xem file đã tồn tại chưa. Nếu file đã tồn tại, bạn quyết định tên file mà không cần thư mục (thuộc tính File1.PostedFile.FileName lưu trữ vị trí và tên của file trên máy khách) bằng sử dụng System.IO.Path.GetFileName. Sau đó bạn sẽ phải xác minh rằng dung lượng của file không lớn hơn dung lượng lớn nhất được cho phép. Sau đó, bạn lưu file đó vào vị trí được chỉ định trước trên máy chủ bằng phương thức File1.PostedFile.SaveAs và ngẫu nhiên đặt thư mục và tên file lên nó. Khi file được lưu lại, bạn hãy đưa ra thông báo xác nhận với người dùng rằng file đã được upload thành công. Nếu có một lỗi xuất hiện, bạn phải xóa file và hiển thị một thông báo lỗi trong nhãn lblMessage.

Lưu ý: Khi các file đang upload, hãy nhớ rằng ASP.NET giới hạn dung lượng file cho quá trình upload là 4MB (4096 KB). Nếu bạn cố upload file có dung lượng lớn hơn thì có thể gặp phải thông báo lỗi. Bạn có thể thay đổi thiết lập này bằng cách thiết lập lại maxRequestLength trong phần tử httpRuntime của file Machine.config.




--------------------
Nhóm bạn bè:


HANG MO

p3' h3o lov3 u 4ever

lionking729

hong_ngoc123

tram12

Xem tất cả


--------------------
Hi các bạn! Nhớ ghé thăm blog của mình nha
http://vnvista.com/tuyetnhietdoipro

user posted image user posted image user posted image


Cảnh cáo: (0%)----- 
Nếu bạn thấy bài viết này vi phạm nội quy forum, hãy click nút này:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Thank you! Reply to this topicTopic OptionsStart new topic
 

Bản Rút Gọn Bây giờ là: 20th July 2025 - 05:14 AM
Home | Mạng xã hội | Blog | Thiệp điện tử | Tìm kiếm | Thành viên | Sổ lịch