Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

:: ErIcK M.M ::

Upload gravando o endereço no banco e renomeando a imagem

Recommended Posts

Olá

 

Já procurei em toda parte e não consigo achar

tenho um site hospedado na locaweb, e eles usam o componente para uploa SaFileUp

fazer o uploa esta tudo certinho como o exemplo deles, porem gostaria de encrementar mais

gostaria de gravar o end da imagem no banco e a imagem na pasta já renomenado a mesma

tem como? espero que possam me ajudar

vou postar o codigo do upload aqui

 

<HTML> 
<BODY> 
<% Set upl = Server.CreateObject("SoftArtisans.FileUp") %> 
<% upl.Path = "e:\home\baixadasexy\web\up_foto" %> 
<% upl.Save %> 
Total de Bytes Enviados: <%=upl.TotalBytes%> 
<% Set upl = Nothing %> 
</BODY> 
</HTML>

 

aguardo

 

ate +

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode renomear usando FSO e para gravar no db basta conectar e gravar normalmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou então leia a documentação do componente, provavelmente ele retorna o que você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha como você poderia renomear a imagem

link

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim

 

so alterar a propriedade name

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já consegui fazer o upload da imagem e gravar no banco corretamente

agora gostaria de renomear a imagem, para não haver duplicidade de nome e substituir o aqruivo ja existente

como fazer? tem como colocar o id do usuario?

 

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}
%>

aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

renomeia para o seu nome e a data/hora atual do sistema que nao irá duplicar

Compartilhar este post


Link para o post
Compartilhar em outros sites

so concatenar

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembre-se de tirar a barra da data e o ponto e vírgula das horas

pq nao é aceito como nome de arquivo.

 

<%

Dim Nome

Nome = Day(Date) & Month(Date) & Year(Date) & Hour(Time) & Minute(Time) & Second(Time) & Session.SessionID

Response.Write(Nome)

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar esta função,ela renomeia de acordo com a hora no server. Por exemplo se no servidor a data e hora for: 22/01/2009 21:12hrs e o arquivo for do tipo JPG o nome do arquivo será "220120092112.jpg".

 

<%
function renomear(nome)
  Set ObjetoFSO = Server.CreateObject("Scripting.FileSystemObject")
  extensao = ObjetoFSO.GetExtensionName(nome)
  dia1 = now()
  dia1 = replace(dia1,"/","")
  dia1 = replace(dia1,":","")
  dia1 = replace(dia1," ","")
  renomear = dia1&"." & extensao
  ObjetoFSO.close()
  Set ObjetoFSO = nothing
end function

'como usar
call renomear("foto.jpg")
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.