Ir para conteúdo

POWERED BY:

Arquivado

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

Web 1

ASPUpload

Recommended Posts

Ola pessoal

 

estou usando a nova aplicação abaixo por força do novo servidor que estamos.

 

Como faço para renomear o arquivo enviado com a data_hora.arquivo no mesmo

 

<%

 

SET Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save("e:\home\site\web\upload")
Response.WRITE Count & " Arquivos novos em e:\home\site\web\upload"

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso uma função assim:

 

 

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

'Exemplo de chamada
call renomear("foto.jpg")
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo nessa aplicação

 

<%

Set Upload = Server.CreateObject("Persits.Upload")
' Prevent overwriting
Upload.OverwriteFiles = False
' Save to disk
Upload.Save "e:\home\serranegra1\web\upload"
' Use session ID as the new file name
NovoNome = "IOArq_"&Replace(date, "/","")&Hour(time)&Minute(time)&second(time)
For Each File in Upload.Files
File.Copy "e:\home\serranegra1\web\upload\" & NovoNome & File.ext
File.Delete
NovoNomeGrava = NovoNome & File.ext
Next
%>
Porem gostaria de saber quando eu tenho mais de um campo de upload, como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este código já trata mais de um campo. Só que da maneira como está ele renomeia todos os arquivos (de cada campo) com o mesmo nome.

Você tem que tratar cada nome dentro do laço For Each. Ex.:

 

NovoNome = "IOArq_"&Replace(date, "/","")&Hour(time)&Minute(time)&second(time)
 
For Each File in Upload.Files 
   File.Copy "e:\home\serranegra1\web\upload\" & File.Name & "__" & NovoNome & File.ext 
   File.Delete 
   NovoNomeGrava = File.Name & "__" & NovoNome & File.ext
Next 


Dica: se você for trabalhar com alguns arquivos (e não um só) e ele forem relativamente pequenos,fica mais performático salvar em memória para depois salvar em disco com o nome novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro como poderia estar então procedendo com este script para salvar mais de um campo?

 

<%

Set Upload = Server.CreateObject("Persits.Upload")

' Prevent overwriting
Upload.OverwriteFiles = False

' We use memory uploads, so limit file size
Upload.SetMaxSize 1000000, true

' Save to memory
Upload.Save

' Use session ID as the new file name
NewName = "Arq_"&Replace(date, "/","")&Hour(time)&Minute(time)&second(time)

For Each File in Upload.Files
File.SaveAs "c:\upload\" & NewName & File.ext
Response.Write "New name: " & File.FileName & "<BR>"
Next
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui estão minhas sugestões (teste para ver se é isso mesmo e se tem algum problema, não testei):

 

Você tem que tratar cada nome dentro do laço For Each. Ex.:

NovoNome = "IOArq_"&Replace(date, "/","")&Hour(time)&Minute(time)&second(time)

For Each File in Upload.Files
    File.Copy "e:\home\serranegra1\web\upload\" & File.FileName & "__" & NovoNome & File.ext
    File.Delete
    NovoNomeGrava = File.FileName & "__" & NovoNome & File.ext
Next 
' -- // sengundo exemplo'

NewName = "Arq_"&Replace(date, "/","")&Hour(time)&Minute(time)&second(time)
For Each File in Upload.Files 
   File.SaveAs "c:\upload\" & File.FileName & "__" & NewName & File.ext 
   Response.Write "New name: " & File.FileName & "<BR>" 
Next 

 

Dica: se você for trabalhar com alguns arquivos (e não um só) e ele forem relativamente pequenos,fica mais performático salvar em memória para depois salvar em disco com o nome novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo!

 

Como saberei de qual campo esta vindo o arquivo?

 

Por exemplo no fomulario tera o campo

 

Imagem

PDF

ZIP

 

Colocando o nome no campo, como faço para resgatar esses nomes no script acima?

Compartilhar este post


Link para o post
Compartilhar em outros sites

use request e atribua depois a variavel que quiser

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo!

 

Como saberei de qual campo esta vindo o arquivo?

 

Por exemplo no fomulario tera o campo

 

Imagem

PDF

ZIP

 

Colocando o nome no campo, como faço para resgatar esses nomes no script acima?

 

Assim:


 

' Recuperando cada arquivo '

Set ArquivoImagem = Upload.Files("nome_do_elemento_input_Imagem")

Set ArquivoPDF = Upload.Files("nome_do_elemento_input_PDF") Set ArquivoZip = Upload.Files("nome_do_elemento_input_Zip")

' Salvando - utilizando o contexto de salvar em memória '

ArquivoZip.SaveAs "C:\Caminho\Nome_do_arquivo.extensao" ' AQUI VC PODE USAR A LÓGICA PARA GERAR O NOME ALEATORIAMENTE PELA DATA'

ArquivoImagem.SaveAs "C:\Caminho\Nome_do_arquivo.extensao" ' AQUI VC PODE USAR A LÓGICA PARA GERAR O NOME ALEATORIAMENTE PELA DATA' 

ArquivoPDF.SaveAs "C:\Caminho\Nome_do_arquivo.extensao" ' AQUI VC PODE USAR A LÓGICA PARA GERAR O NOME ALEATORIAMENTE PELA DATA'

 

Amigão, é por aí...

Vai postando suas dúvidas!

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.