Ir para conteúdo

POWERED BY:

Arquivado

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

Z.Zidane

Posso Criar pasta atraves da pag asp ?

Recommended Posts

Oi Caros,

Eu estou com um sistema que envia e-mail para outros usuários e há a possibilidade de adicionar imagem, ou algum tipo de arquivo para enviar.

 

Esse arquivo vai ficar armazenado numa pasta no sistema, vai ser tratado e quando for enviado o sistema busca nessa pasta e envia.

 

Consulta = "Select top 1 * from webmail order by codEnvio desc "
	set rs = CnS.execute(consulta)
	 CodEnvio = rs("codEnvio")
	rs.close
	set rs = nothing
	
	If lStrAnexo <> "" then
   	 NoneArquivo = "Web"&CodEnvio&"."&extencao2
	 Pasta = Server.MapPath("../../webmail")

	lStrPath = Pasta&"\"&year(now())&"\"&NoneArquivo

	 Dim fso, MyFile
		Set fso = CreateObject("Scripting.FileSystemObject")
				
		Set MyFile = fso.CreateTextFile(lStrPath,True)
		lStrAnexo	  = BinaryToString(UploadRequest.Item("anexo").Item("Value"))
		MyFile.Write(lStrAnexo)
		MyFile.Close
	
		Set MyFile = Nothing 
		Set fso = Nothing
	 
	  Else
	   NoneArquivo =""
	 End if

O sistema busca uma pasta com o nome igual ao ano que estamos.

No mês passado existia uma pasta "2008" e os arquivos ficam armazenados ali.

 

Minha dúvida é o seguinte, estamos no ano de 2009 logo o sistema vai buscar uma pasta "2009" se eu não criar no servidor vai dar erro.

 

Tem como se a pasta não existir o sistema criar a pasta que eu quero???

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A resposta certa é: Depende.

 

Se a pasta em questão estiver abaixo da pasta do seu dominio, provavelmente sim.

Se a pasta estiver fora, você não terá permissão no windows para criar novas pastas.

 

Agora, caso o seu caso for o primeiro, então basta incluir:

 

dim strFolder : strFolder = replace(lStrPath, "\" & NoneArquivo, "")
if( not fso.folderExists(strFolder) ) then fso.createFolder(strFolder)

logo abaixo de 'Set fso = CreateObject("Scripting.FileSystemObject")'

 

Atenciosamente,

Fabio Zendhi Nagao (nagaozen)

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

um script que cria e apaga diretórios em ASP, mostrando ainda algumas de suas propriedades como o nome do diretório, se ele é ou não o raiz, etc

<% 
Sub ShowFolderInfo() 
Dim fso, fldr, s 

' Criando uma instância do FSO 
Set fso = CreateObject("Scripting.FileSystemObject") 

' Pegando o objeto Drive 
Set fldr = fso.GetFolder("\") 

' Imprime o nome do diretório raiz 
Response.Write "Nome do diretório raiz: " & fldr & "<br>" 

' Imprime o nome do drive 
Response.Write "Contido no drive: " & fldr.Drive & "<br>" 

' Imprime se é ou não o diretório Root 
If fldr.IsRootFolder = True Then 
Response.Write "Este é o diretório Raiz." & ""<br>"<br>" 
Else 
Response.Write "Este diretório não é o diretório raiz." & "<br><br>" 
End If 

' Cria um novo diretório. 
fso.CreateFolder ("C:\asp\FileSystemObjects\teste") 
Response.Write "Diretório criado C:\asp\FileSystemObjects\teste" & "<br>" 

' Imprime o nome de base do diretório. 
Response.Write "Basename = " & fso.GetBaseName("c:\") & "<br>" 

' Apaga o diretório criado 
fso.DeleteFolder ("C:\asp\FileSystemObjects\teste") 
Response.Write "Diretório deletado c:\asp\FileSystemObjects\teste" & "<br>" 
End Sub 
%> 

<% ShowFolderInfo %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verificar se existe uma pasta,criei esta função CheckpastaExists verifica se existe uma pasta. Ele retorna 'True' se a pasta existe, ou "falso" se isso não acontece.

 

<%
Function CheckpastaExists (sFolderName)

Dim FileSystemObject

Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject")

If (FileSystemObject.FolderExists(sFolderName)) Then
CheckpastaExists = True
Else
CheckpastaExists = False
End If

Set FileSystemObject = Nothing

End Function
%>

O seguinte código é um exemplo de como usar a função CheckFolderExists:

 

<%
If CheckpastaExists ("x:\2009") Then
Response.Write("Os relatórios de 2009 estão disponíveis")
Else
Response.Write("Os relatórios de 2009 não estão disponíveis")
End If
%>

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.