Excluindo arquivos de forma inteligente

ASP net

Excluindo arquivos de forma inteligente ASP

Caros, por esses dias precisei gerar um arquivo PDF para o usuário baixar, mas enfrentei um problema. Ao gerar o PDF diretamente no navegador utilizando BinaryWrite e alterando o ContentType da página, encontrei muitos erros devido às configurações em navegadores distintos.

Para não depender do navegador do usuário, resolvi gerar os arquivos em uma determinada pasta no servidor, redirecionar a página para o usuário baixar o arquivo e executar uma rotina que apagasse os arquivos de tempos em tempos.

Desenvolvi essa página ASP onde determinei em constantes o “tempo de vida” dos arquivos. É necessário agendar essa rotina para ser executada no servidor.
Segue abaixo o código ASP utilizado:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

<%
´Constante que determina o “tempo de vida” dos arquivos
const TEMPO_DE_VIDA = 20

´Constante que determina a unidade do “tempo de vida”
´yyyy – Year´
´q – Quarter
´m – Month
´y – Day of year
´d – Day
´w – Weekday
´ww – Week of year
´h – Hour
´n – Minute
´s – Second
const TEMPO_DE_VIDA_UN = “n”

´variável para
dim pasta
pasta = Server.MapPath(“./arquivos/”)

´Declara o File System Object
set fso = server.CreateObject(“Scripting.FileSystemObject”)

´GetFolder retorna a pasta passada por parâmetro
set fsoP = fso.getFolder(pasta)

´fsoP.files contem todos os arquivos da pasta
for each arq in fsoP.files
´Escreve na tela o nome do arquivo e sua data de criação.
Response.Write(arq.name&” – criado em “&arq.dateCreated&”.<br />”)

´Caso o “tempo de vida” do arquivo tenha passado o tempo permitido, o arquivo é deletado
if DateDiff(TEMPO_DE_VIDA_UN,arq.dateCreated,now) > TEMPO_DE_VIDA then
´Escreve na tela o nome do arquivo deletado
Response.Write(arq.name&” deletado.<br/>”)

´Deleta o arquivo
arq.Delete
end if
next

´Libera variáveis da memória
set pasta = nothing
set arq = nothing
set fsoP = nothing
set fso = nothing
%>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Seguem alguns dos atributos do file (arq) que podem

ajudá-los no critério para exclusão dos arquivos.

Attributes (pode ser setado)

Atributos do arquivo.

Pode ser um ou mais dos seguintes valores:
0 = Arquivo normal
1 = Arquivo somente leitura
2 = Arquivo oculto
4 = Arquivo de sistema
16 = Pasta ou diretório
32 = Arquivos alterados desde o último backup
1024 = Link ou atalho
2048 = Arquivo compactado

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DateCreated – Retorna a data e a hora em que o arquivo foi criado.

DateLastAccessed – Retorna a data e a hora em que o arquivo foi acessado.

DateLastModified – Retorna a data e a hora da última vez que o arquivo foi modificado.

Drive – Retorna a letra do drive em que o arquivo está.

Name (pode ser setado) – Nome do arquivo.

ParentFolder – Retorna o caminho complete da pasta onde o arquivo está.

Path – Retorna o caminho complete do arquivo no servidor.

Size – Retorna o tamanho, em bytes, do arquivo.

Type – Retorna o tipo do arquivo.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Abraço!

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-