Posted by: -xox- on: พฤศจิกายน 22, 2008
ในหน้า code behide
ขั้นแรก ต้องใส่
Imports System.IO
แล้วเมื่อเหตุการณ์กดปุ่ม “อัพโหลดรูปภาพ” เขียนโค๊ดดังนี้
Dim CurrentFileName As String
Dim CurrentPath As StringCurrentFileName = FileUpload1.FileName
If (Path.GetExtension(CurrentFileName).ToLower <> “.jpg”) And (Path.GetExtension(CurrentFileName).ToLower <> “.gif”) Then
Me.ClientScript.RegisterClientScriptBlock(GetType(String), “a1″, “<script language=’javascript’>alert(‘คุณเลือกไฟล์ไม่ถูกต้อง !!!’);</script>”)
Exit Sub
End IfIf FileUpload1.PostedFile.ContentLength > 131072 Then
Me.ClientScript.RegisterClientScriptBlock(GetType(String), “a2″, “<script language=’javascript’>alert(‘ขนาดของไฟล์ใหญ่เกินไป ซึ่งต้องไม่เกิน 128 KB !!!’);</script>”)
Exit Sub
End IfCurrentPath = Request.PhysicalApplicationPath
CurrentPath += “\images\employeePIC\emp_”If FileUpload1.HasFile Then
CurrentPath += CurrentFileNameFileUpload1.SaveAs(CurrentPath)
Me.ClientScript.RegisterClientScriptBlock(GetType(String), “a3″, “<script language=’javascript’>alert(‘อัพโหลดไฟล์ เรียบร้อยแล้ว’);</script>”)
Else
Me.ClientScript.RegisterClientScriptBlock(GetType(String), “a3″, “<script language=’javascript’>alert(‘ไม่สามารถอัพโหลดได้’);</script>”)
End If
- ใช้จาว่าสคริปเป็นตัว alert บอกผล ซึ่ง ใช้โค๊ดแค่บรรทัดเดียว คือ Me.ClientScript.RegisterClientScriptBlock(GetType(String), “a1″, “<script language=’javascript’>alert(‘คุณเลือกไฟล์ไม่ถูกต้อง !!!’);</script>”)
- ซึ่งจะเช็ค ประเภทของไฟล์ที่อัพโหลดให้อัพโหลดได้แต่ไฟล์นามสกุล .jpg และ .gif
- เช็คขนาดของภาพไม่เกิน 128 เค
- อัพโหลดรูปเก็บไว้ที่พาธ
** ต้องอ้างจากพาธที่แท้จริง จากตัวอย่างโค๊ดนี้ ไฟล์ที่เรากำลังเขียนอยู่นี้จะอยู่ในโฟล์เดอร์ employee แต่ต้องอ้างพาธ ไว้ที่ \images\employeePIC\emp_
เพราะไฟล์ web เรา( ชื่อว่า myweb ) อยู่ใน C:\Inetpub\wwwroot\myweb\images\employeePIC
โค๊ดนี้ได้จากหนังสือ คู่มือ ASP.NET 2.0 ฉบับสมบูรณ์ โดย ศุภชัีย สมพานิช
..เหมาะสำหรับมือใหม่มาก..
สวยแล้วยังเก่งอีกครับ ดีจัง
ขอบคุณครับ
ธันวาคม 9, 2008 ที่ 1:46 pm
อืม น่าสนใจมาก
ขอบคุณมาก ๆ เลย
แต่ขอเป็นโค๊ดเป็น C# ก็ดีเหมือนกันอ่ะนะ
จะได้ทั้งสองแบบเลย