10/10/2018, 10:28

Tạo Form Upload=ASP

Tôi có 1 Form có dạng như sau:
Tên: <Input type="Text" name="ten">
Mail: <Input type="Text" name="mail">
Hinh: <Input type="File" name="Hinh">
<Input type="Submit">
Tôi muốn khi submit thì Tên, Mail và đường dẫn của Hình sẽ được lưu vào bảng User của CSDl, còn hình thì sẽ được Upload lên mạng, như vậy thì làm cách nào vậy, mong các cao thủ ASP chỉ giúp.
redsun viết 12:36 ngày 10/10/2018
<%

'--ConnectDB(strDBFile): Tao ket noi den file Access:

Public Function ConnectDB(strDBFile)
strConnStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
strConnStr = strConnStr & Server.MapPath(strDBFile)

Set connDB = Server.CreateObject("ADODB.Connection")
connDB.Open strConnStr
If Err.number = 0 then
ConnectDB = True
Else
strMessage = Err.Description
End If
Err.Clear
End Function


Public Function GetRS(byval strSQL)
set rsElement = Server.CreateObject("ADODB.Recordset")
rsElement.Open strSQL,connDB,adOpenKeyset,adLockOptimistic

If Err.number = 0 then
GetRS = true
Else
strMessage = Err.Description
End If
Err.Clear
End Function %>


<% if act=1 then
If objDb.noRecord Then objDb.rsElement.Addnew

objDb.rsElement("USER") = UCase(Request.Form("ten"))
objDb.rsElement("EMAIL") = Request.Form("mail")
end if
end if
%>

<form action="UserInformation.asp?Act=1" method="post" name="frmUserInfor" id="frmUserInfor">
...........
.............

<Input type="Text" name="ten">
<Input type="Text" name="mail">
<Input type="File" name="Hinh">
<Input type="Submit">
.................
.................
<td><input name="butSave" type="submit" class="button1" value="Save" ></td>


còn để upload hình lên thì bạn dùng :
Thôi bạn để lại mail đi rồi mình gửi cho cái source cho tham khảo
ltuananh viết 12:41 ngày 10/10/2018
Mình muốn là khi mình nhấn nút submit thì dữ liệu sẽ được lưu vào bảng đồng thời file hình sẽ được upload lên server luôn đấy, còn nếu upload riêng, và insert vào csdl riêng thì mình biết rồi. ĐC mail của mình là: ltuananh2000@yahoo.com.
Cám ơn Redsun rất nhiều. Hy vọng đoạn code của bạn sẽ giúp được mình
hoangleo viết 12:30 ngày 10/10/2018
Đúng là cái thằng ASP nó làm mệt anh em trong việc tạo công cụ upload... mình ghét ASP ở chỗ đó... nếu xài mấy cái Dll hay ocx thì trên Server lại không cho register... vì vậy theo mình chỉ có 1 cách duy nhất và hiểu quả tức thì là dùng thủ thuật... tạo 1 file trên server trùng file với local rồi copy toàn bộ nội dung file ở local lên file trên server (nhớ là dùng kiểu binary nha, vì là hình ảnh mà)... chúc "ltuananh" thành công!
ltuananh viết 12:43 ngày 10/10/2018
Thanks hoangleo, mình đang làm 1 trang tin tức, trong tin tức thì phải có hình mình họa, mình muốn khi mình submit thì nội dung sẽ vào bảng tin trong csdl, còn những hình ảnh sẽ được upload lên server thì làm sao, mình ko hiểu rõ cách của bạn lắm, bạn có thể vd cụ thể hơn ko?
redsun viết 12:30 ngày 10/10/2018
Chịu khó tham khảo đoạn này nhé:
đây là code của một trang dùng quan lý catagory đó:


'-----------------Sub: UploadFile()
Function UploadFile()
Dim strReturn
'This starts the upload process
Uploader.Upload()
'Check if any files were uploaded
If Uploader.Files.Count = 0 Then
'Response.Write "File(s) not uploaded."
strErr = CateInfo()
strReturn = strErr
If strErr = "" Then
'Update to Database:
objDb.rsElement.Update
Else
Call FixData()
End If
Else
'--Truong hop co chon file upload:
strErr = CateInfo()
strReturn = strErr
If strErr = "" Then
'Update to Database:
objDb.rsElement.Update
'Loop through the uploaded files
For Each File In Uploader.Files.Items
if (objDb.getValueFromField("ATCHFILE")<>"") then
strReturn = "Image exits in this tour. If you want upload another image, you must delete it first"
else
'Kiem tra co phai la tap tin hinh anh:
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If UCase(Right(File.FileName,3)) = "JPG" Or UCase(Right(File.FileName,3)) = "GIF" Or UCase(Right(File.FileName,3)) = "BMP" Then
'--Neu co file roi thi xoa file nay trong thu muc :
If fso.FileExists(Server.MapPath("..\" & Lang_Folder) & "\images\ImageForCat" & "\" & Uploader.Form("ID") & Right(File.FileName,4)) Then
fso.DeleteFile(Server.MapPath("..\" & Lang_Folder) & "\images\ImageForCat" & "\" & Uploader.Form("ID") & Right(File.FileName,4))
End If
'Save file(s) to folder on server:
File.SaveToDisk Server.MapPath("..\" & Lang_Folder) & "\images\ImageForCat",""
'Lay ten file hinh upload:
strAttFile = File.FileName
'Doi ten file sau khi upload:
TenFileMoi = SetWhatNewsName(strAttFile)
Set f = fso.GetFile(Server.MapPath("..\" & Lang_Folder) & "\images\ImageForCat" & "\" & File.FileName)
f.Name = TenFileMoi
strReturn = ""
Else
strReturn = "Attached file is not a Picture. Please, try again."
End If
End if
Next
Else
Call FixData()
End If
End If
UploadFile = strReturn
End Function

'-------------Set a name for CATEGORY Picture:
'--CATEGORY Picture name = ID
Function SetWhatNewsName(TenFileHinhGoc)
dim iID
dim strWNPicFile
'--Lay ID cua WhatNews vua update:
objDb.GetRS("SELECT ID FROM CATEGORY WHERE CAT='" & Uploader.Form("txtCat") & "'")
iID = objDb.rsElement("ID")
strWNPicFile = iID & "." & Right(TenFileHinhGoc,3)
objDb.ExecuteUpdateSQL("UPDATE CATEGORY SET ATCHFILE='" & strWNPicFile & "' WHERE ID=" & iID)

SetWhatNewsName = strWNPicFile
End Function

'------------------------------------------------------
If Request.QueryString("del") = 1 Then Call DeleteImg()

'--------------DeleteImg()
'Ham nay xoa hinh trong CAT:
urlDeleteImg = "category.asp?del=1&nID=" & nID
Sub DeleteImg()
'--Xoa hinh trong thu muc:
Set fso = Server.CreateObject("Scripting.FileSystemObject")
'--Neu co file roi thi xoa file nay trong thu muc :
If fso.FileExists(Server.MapPath("..\" & Lang_Folder) & "\images\ImageForCat" & "\" & strImageFile) Then
fso.DeleteFile(Server.MapPath("..\" & Lang_Folder) & "\images\ImageForCat" & "\" & strImageFile)
End If
'--Set Picture trong table la rong:
objDb.ExecuteUpdateSQL("UPDATE CATEGORY SET ATCHFILE='' WHERE ID=" & nID)
End Sub
%>
ltuananh viết 12:29 ngày 10/10/2018
Xin cám ơn Redsun nhiều.
Harry viết 12:29 ngày 10/10/2018
Call FixData()

cái hàm này gọi nó ở đâu ra vạy bác???
puppy viết 12:42 ngày 10/10/2018
Đây nè.

Source này vừa upload file vừa lấy data của form luôn. Nếu muốn upload nhiều file thi sửa lại tí xíu. Nếu không sửa được mail cho tui tui sửa giùm cho.
hienga1 viết 12:45 ngày 10/10/2018
sao em tải về không được nhỉ
anh có thẻ gửi giúp e vào mail hiengaa15@gmail.com
Em xin cảm ơn!
Bài liên quan
0