Estou com um sitema de album de fotos, esta pefeito, faz upload das fotos, grava no banco o endereço da mesma
tudo certo, só que eu gostaria de renomear o nome da imagem
para que outros usuario não façam upload com o mesmo nome, talvez até colocar o id no começo do nome, sei lá
vou portar o codigo se alguém puder me ajudar
segue o codigo
<% Server.ScriptTimeout = 500000
Dim Form: Set Form = New ASPForm
%>
<!--#INCLUDE FILE="_upload.asp"-->
<%
Server.ScriptTimeout = 10000
Form.SizeLimit = 10240*1024'10MB
if len(Request.QueryString("UploadID"))>0 then
Form.UploadID = Request.QueryString("UploadID")'{/b}
end if
Const fsCompletted = 0
If Form.State = fsCompletted Then
'A linha a seguir é onde está setada a pasata para qual será upado os arquivos, se fores usar FSO, acrescente por aqui
Const VirtualFolder = ("fotos")
Dim DestinationPath, virtDestinationPath
DestinationPath = Server.mapPath(VirtualFolder) & "\"
virtDestinationPath = "http://" + Request.ServerVariables("SERVER_NAME") _
+ GetPath(Request.ServerVariables("SCRIPT_NAME") ) _
+ "/" + VirtualFolder + "/"
Dim RS: Set RS = OpenUploadRS
Dim FileField
For Each FileField in Form.Files.Items
if len(FileField.FileName)> 0 then 'File is specified.
Dim DestinationFileName
DestinationFileName = DestinationPath & FileField.FileName
FileField.SaveAs DestinationFileName
'Este comentário fiz questão de colocar, aqui é onde você acrecenta o nome dos campos que estão na sua tabela
RS.AddNew
RS("data") = Form("Desc-" & FileField.Name)
RS("codigo") = Form("Desc-" & FileField.Name)
RS("foto") = FileField.FileName
RS("DestFileName") = VirtualFolder
'...
RS.Update
end if
Next
'fiz uma mudança aqui para retornar a pagina onde estavamos sem perder a querystring("data")
response.write "<meta http-equiv='refresh' content='0; url=java script:history.go(-1)'/>"
Dim Field: For Each Field in Form.Files.Items
'Response.write "<br> " & Field.FileName
Next
'{b}Save file to the destination
'{/b}
ElseIf Form.State > 10 then
Const fsSizeLimit = &HD
Select case Form.State
case fsSizeLimit: response.write "<br><Font Color=red>O seu limite de upload é de 10mb (" & Form.TotalBytes & "B) e voc~e exedeu esse limite. (" & Form.SizeLimit & "B)</Font><br>"
case else response.write "<br><Font Color=red>Some form error.</Font><br>"
end Select
End If'Form.State = 0 then
Function OpenUploadRS()
Dim RS : Set RS = CreateObject("ADODB.Recordset")
'Achei interessante comentar essa parte, pois é aqui que vai o nome da sua tabela, no meu caso era "fotos"
RS.Open "fotos", GetConnection, 2, 2
Set OpenUploadRS = RS
end Function
Function GetConnection()
dim Conn: Set Conn = CreateObject("ADODB.Connection")
Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
Conn.open "Data Source=" & Server.MapPath("../../../dados/database.mdb")
set GetConnection = Conn
end function
Function SplitFileName(FullPath)
Dim Pos, PosF
PosF = 0
For Pos = Len(FullPath) To 1 Step -1
Select Case Mid(FullPath, Pos, 1)
Case ":", "/", "\": PosF = Pos + 1: Pos = 0
End Select
Next
If PosF = 0 Then PosF = 1
SplitFileName = PosF
End Function
Function GetPath(FullPath)
GetPath = left(FullPath, SplitFileName(FullPath)-1)
End Function
Dim UploadID, PostURL
UploadID = Form.NewUploadID
PostURL = Request.ServerVariables("SCRIPT_NAME") & "?UploadID=" & UploadID'{/b}
%>
Pergunta
erickmm
Boas
Estou com um sitema de album de fotos, esta pefeito, faz upload das fotos, grava no banco o endereço da mesma
tudo certo, só que eu gostaria de renomear o nome da imagem
para que outros usuario não façam upload com o mesmo nome, talvez até colocar o id no começo do nome, sei lá
vou portar o codigo se alguém puder me ajudar
segue o codigo
espero que possam me ajudar
valeu
ate +
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.