Ir para conteúdo

POWERED BY:

Arquivado

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

varela82

renomear arquivo com Dundas

Recommended Posts

Ola pessoal,

 

Estou com um codigo que ele faz o upload das fotos corretamentes para a pasta no servidor, porem gostaria que ele renomea as fotos, para nao dar conflitos com outras fotos, dei uma bela lida em uns topicos aqui do imaster porem fiz os testes no codigo ja pronto nao deu certo, gostaria muito da ajudas de vcs, nao sei quase nada em ASP minha area é PHP, valew segue o codigo abaixo:

 

<%
'Option Explicit
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 2
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "No-Store"
Server.ScriptTimeout= 220
Session.LCID = 1046
'Session.LCID = 1033 'INGLES
'Response.Charset="ISO-8859-1" 
'Response.AddHeader "Content-Type", "text/html; charset=iso-8859-1"
Response.AddHeader "Content-Type", "text/html; charset=UTF-8"

%>

<%
' Baseado no exemplo da propria ASPAlliance
' Continuar se ocorrer algum erro
' Este script supoe que existe um diretorio upload dentro da pasta dados
On Error Resume Next

Dim sCaminho

' sCaminho = Replace(LCase(Server.MapPath("/")),"web","dados\upload") ' uolhost
'sCaminho = Replace(LCase(Server.MapPath("/")),"web","dundas-upload\images-up") 'localhost

'sCaminho = "c:/inetpub/wwwroot/webbatidos_si/banco_veiculos" 'localhost
sCaminho = "E:/home/webbatidos/web/banco_veiculos"



'response.Write sCaminho 'caminho físi
' Criar instancia do Objeto
Set objUpload = Server.CreateObject ("Dundas.Upload.2")

' Gravar arquivo no diretorio dados do proprio site
' Tambem sera gravado em memoria utilizando o metodo SaveToMemory
'
' Tamanho maximo de arquivo de 1MB
objUpload.MaxFileSize=1048576
'objUpload.MaxFileSize=7048576

objUpload.UseVirtualDir = false

objUpload.UseUniqueNames=true
objUpload.Save sCaminho

' Verificar se ocorreu algum erro durante a chamada.
' Se ocorrer, redirecionar para uma pagina de Erro ficticia
If Err.Number <> 0 Then
dim erro
erro =  err.number & " - " & Err.description
Response.Redirect "Erro_dundasupload.asp?erro=" & erro
Else
' Criar um loop para verificar os arquivos carregados
' Se for executavel, apagar do disco
' Mostrar uma caixa de diálogo com nome dos arquivos
For Each objUploadedFile in objUpload.Files

Response.Write "<h1>Upload de imagens com Dundas</h1><br>"
response.Write "<p>Dundas uplood esta disponívem em vários servidores web como UOLHOST, Locaweb etc. <p>Sua implementação é suave e rápida, sem muitos problemas. Pode ser adaptada facilmente em código ASP Classic.</p> </p>"
Response.Write "- Campo do Formulario: <font face=""Arial"" size=""2"" color=""#oo66dd"">" & objUploadedFile.TagName & "</font><br>"
'response.write "- Caminho físico, (Cuidado para não expor o arquivo): <font face=""Arial"" size=""2"" color=""#oo66dd"">" & objUploadedFile.Path & "</font> - Tamanho : " & CStr(objUploadedFile.Size) & " bytes<br>"
'Pega somente o nome do arquivo'
'Quando baixamos o componente Dundas Upload para testes ele traz somente o caminho com o nome da imagem.

'Pesquisando encontrei  o strreverse, acho que é nativo do ASP Classic. Pois bem, funcionou, e agora estou implementando uma solução completa, com visualização e tamonho do arquvo.
'++++++++++++++++++++++++++++++++
'+++++ Nome da imagem +++++++++++
' O Uso deste método é necessário em um site em ASP
'            
'        Uso da Função strreverse
'        Como o nome já diz ela inverte o sprite e pega o campo xero(0), que é nome da imagem
'        O ASP esconde várias funções nativas, porisso é bom consultar sempre a sua biblioteca
'                                                                   
'++++++++++++++++++++++++++++++++
dim caminho

caminho = objUploadedFile.Path
nome_arquivo = right(caminho,instr(strreverse(caminho),"\") - 1)
response.write "- Nome do Arquivo: <strong><font face=""Arial"" size=""2"" color=""#oo66dd"">" &  nome_arquivo &  " </font></strong>" '"- Pegar somente o nome da imagem, para guarda-la em banco de dados , ou até mesmo visualiza-la de uma maneira simples naquele código que possuimos. Isso é somente uma explanação, você faz do geito que quizer. <br>"
if objUploadedFile.TagName = "blob" then
session("filename") = nome_arquivo
end if
if objUploadedFile.TagName = "blob1" then
session("filename1") = nome_arquivo
end if
if objUploadedFile.TagName = "blob2" then
session("filename2") = nome_arquivo
end if
if objUploadedFile.TagName = "blob3" then
session("filename3") = nome_arquivo
end if
if objUploadedFile.TagName = "blob4" then
session("filename4") = nome_arquivo
end if


response.write "<p> - Ver imagem: <a href=banco_veilos/" & trim(nome_arquivo) & " target=""_blank"" >" & nome_arquivo & "</a></p>"

response.write "<P style='text-align:right;'>Desenvolvido por; Julio Bastos</p> "


If InStr(1,objUploadedFile.ContentType,"octet-stream") Then
Response.Write " MAS O Arquivo foi REMOVIDO por ser um tipo proibido"
objUploadedFile.Delete
End If
Next
response.Redirect("novo_veiculo.asp")


' Mostrar o nome de cada um dos elementos do formulário
'For Each objFormItem In objUpload.Form.Count
' Response.Write "<br>Item passado no formulário e´: " & objFormItem.Value
' Response.Write "<br> Valor do ítem do formulário e´: " & objFormItem.Value & "<br>"
'Next

'Response.Write "Chegou ao final do script"

End If

' Remover o objeto
Set objUpload = Nothing
%>



 

Alguem pode me ajudar pois estou quebrando a cabeça e nao estou conseguindo, se for necessario até pago para a resolução desse problema, vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhando por cima o código, tem esta linha:

nome_arquivo = right(caminho,instr(strreverse(caminho),"\") - 1)

 

que suponho ser onde pega o nome do arquivo.

Se realmente fot isso, pode fazer algo do tipo:

nome_arquivo = nome_arquivo & date()

 

Ou algo nessa linha, pode colocar data e hora, para não haver nenhuma possibilidade de repetição, já que a hora pega até os segundos.

A ideia geral é essa, como estou com pouco tempo, não pude testar para ver se dá certo, mas o caminho é esse.

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.