Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom gente eu adaptei 2 sistemas q tinha q fiz um que faz o upload e baixa os arquivos, bem legal e resolveu meu problema:
Index.html
<HTML>
<head>
<title>Upload</title>
</head>
<BODY BGCOLOR="#FFFFFF">
<h1><font size="2" face="Tahoma" color="#C0C0C0"><b>Upload</b></font></h1>
<HR color="#000000" size="1">
<FORM METHOD="POST" ACTION="upload.asp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>
</BODY>
</HTML>
upload.asp
ASP
[*]<HTML>
[*]<head>
[*]<title>Upload</title>
[*]</head>
[*]<BODY BGCOLOR="#FFFFFF">
[*]<h1><font face="Tahoma" color="#C0C0C0" size="2"><b>Upload</b></font></h1>
[*]<HR size="1" color="#000000">
[*]<%
[*]' Variaveis
[*]' *********
[*] Dim mySmartUpload
[*] Dim intCount
[*]
[*]' Criando o Objeto
[*]' ***************
[*] Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
[*]
[*]' Upload
[*]' ******
[*] mySmartUpload.Upload
[*]
[*]' Diretório Físico para onde os aquivos devem ser colocados:
[*]' ****************************************************************************
[*] 'intCount = mySmartUpload.Save("files\")
[*] ' sample with a physical path
[*] intCount = mySmartUpload.Save("caminho do diretorio\files\")
[*]
[*]' Mostra a quantidade de arquivos
[*]' ************************************
[*] Response.Write(intCount & " file(s) uploaded.")
[*]%>
[*]</BODY>
[*]</HTML>
e mostra.asp
ASP
[*]<%
[*]'Declara as variáveis a serem usadas
[*]Dim Local, Folder, File, ObjFS, objRootFolder
[*]'Especifica o endereço do conteúdo a ser exibido
[*]Local = "caminho do diretorio\files\"
[*]
[*]'Cria o objeto FileSystemObject
[*]Set ObjFS = Server.CreateObject("Scripting.FileSystemObject")
[*]Set objFolder = ObjFS.GetFolder(Local)
[*]
[*]Response.Write "<table border='1' bordercolor='gainsboro' cellpadding=2 cellspacing=0 width='100%' style='font-family: Tahoma, Arial; font-size: 11px;'>"
[*]Response.Write " <tr style='background: gainsboro'>"
[*]Response.Write " <td><b>Nome</b></td>"
[*]Response.Write " <td><b>Tipo</b></td>"
[*]Response.Write " <td><b>Tamanho em bytes</b></td>"
[*]Response.Write " <td><b>Data da última modificação</b></td>"
[*]Response.Write " </tr>"
[*]
[*]'Exibe pastas encontradas
[*]For Each Folder in objFolder.Subfolders
[*]Response.Write " <tr>"
[*]Response.Write " <td>" & Folder.Name & "</td>"
[*]Response.Write " <td>" & Folder.Type & "</td>"
[*]Response.Write " <td align=right>" & Folder.Size & " </td>"
[*]Response.Write " <td>" & Folder.DateLastModified & "</td>"
[*]Response.Write " </tr>"
[*]Next
[*]
[*]'Exibe arquivos encontrados
[*]For Each File in objFolder.files
[*]Response.Write " <tr>"
[*]Response.Write " <td>**<a href=files/"** & File.Name & ">" & File.Name & "</a></td>"
[*]Response.Write " <td>" & File.Type & "</td>"
[*]Response.Write " <td align=right>" & File.Size & " </td>"
[*]Response.Write " <td>" & File.DateLastModified & "</td>"
[*]Response.Write " </tr>"
[*]Next
[*]
[*]Response.Write "</table>"
[*]
[*]'Elimina variáveis da memória
[*]Set Local = Nothing
[*]Set File = Nothing
[*]Set objFolder = Nothing
[*]Set Folder = Nothing
[*]%>
Função que faz o download:
<a href=files/" & File.Name & ">" & File.Name & "</a></td>"
Agora só preciso adaptar na página mostra.asp uma maneira de excluir o arquivo, se alguém puder ajudar.
Uma forma que se pode fazer é passar um parametro que informe ao sistema que você quer deletar e em outra variável passar o caminho/nome do arquivo.
Para deletar você usa FSO mesmo:
ASP
-
<%
-
dim fs
-
Set fs=Server.CreateObject("Scripting.FileSystemObject")
-
fs.CreateTextFile("c:\test.txt",True)
-
if fs.FileExists("c:\test.txt") then
-
end if
-
set fs=nothing
-
%>
(exemplo retirado do W3School)
Sou muito amador em asp, e como adapto isso à página mostra.asp ???
>
Uma forma que se pode fazer é passar um parametro que informe ao sistema que você quer deletar e em outra variável passar o caminho/nome do arquivo.
Para deletar você usa FSO mesmo:
ASP
[*]<%<br />dim fs<br />Set fs=Server.CreateObject("Scripting.FileSystemObject") <br />fs.CreateTextFile("c:\test.txt",True)<br />if fs.FileExists("c:\test.txt") then<br /> fs.DeleteFile("c:\test.txt")<br />end if<br />set fs=nothing<br />%>
(exemplo retirado do W3School)
[](/topic/148308-excluir-arquivos-da-pasta/?do=findComment&comment=436198)
Como faço pra adaptar isso no código...
como eu faria pra se dentro da pasta ele me listasse arquivos .asp e eu quizer fazer download desses arquivos ? alguem sabe ?
Jipa, vou fazer de uma forma aqui aproveitando o seu arquivo, substitua essa parte:
ASP
-
Response.Write " <tr>"
-
Response.Write " <td><a href=files/" & File.Name & ">" & File.Name & "</a></td>"
-
Response.Write " <td>" & File.Type & "</td>"
-
Response.Write " <td align=right>" & File.Size & " </td>"
-
Response.Write " <td>" & File.DateLastModified & "</td>"
-
Response.Write " </tr>"
-
Next
Por:
ASP
-
If Request("Acao") = "Excluir" And Request("Nome") = File.Name Then
-
Response.Write " <tr>"
-
Response.Write " <td>"& File.Name &" - Arquivo Excluido!</td>"
-
Response.Write " <td> - </td>"
-
Response.Write " <td align=right> - </td>"
-
Response.Write " <td> - </td>"
-
Response.Write " </tr>"
-
ObjFS.DeleteFile(Server.MapPath("Files/"& File.Name))
-
Else
-
Response.Write " <tr>"
-
Response.Write " <td><a href=files/" & File.Name & ">" & File.Name & "</a> | <a href=?acao=Excluir&Nome="& File.Name &">Excluir></a></td>"
-
Response.Write " <td>" & File.Type & "</td>"
-
Response.Write " <td align=right>" & File.Size & " </td>"
-
Response.Write " <td>" & File.DateLastModified & "</td>"
-
Response.Write " </tr>"
-
End If
-
Next
Espero que funcione a contento.
Não funcionou, achei q era uns erros de espaços, coloquei assim:
ASP
[*]For Each File in objFolder.files
[*]If Request("Acao") = "Excluir" And Request("Nome") = File.Name Then
[*]Response.Write " <tr>"
[*]Response.Write " <td>" & File.Name & " - Arquivo Excluido!</td>"
[*]Response.Write " <td> - </td>"
[*]Response.Write " <td align=right> - </td>"
[*]Response.Write " <td> - </td>"
[*]Response.Write " </tr>"
[*]ObjFS.DeleteFile(Server.MapPath("files/" & File.Name & "))
[*]Else
[*]Response.Write " <tr>"
[*]Response.Write " <td><a href=files/" & File.Name & ">" & File.Name & "</a> | <a href=?acao=Excluir&Nome=" & File.Name & ">Excluir></a></td>"
[*]Response.Write " <td>" & File.Type & "</td>"
[*]Response.Write " <td align=right>" & File.Size & " </td>"
[*]Response.Write " <td>" & File.DateLastModified & "</td>"
[*]Response.Write " </tr>"
[*]End If
[*]Next
e mesmo assim nada..
POR FAVOR.. ME AJUDEM!!!
Houve algum erro?
Assim abriu a página, mas dá erro depois q clica em excluir:
ASP
[*]For Each File in objFolder.files
[*]If Request("Acao") = "Excluir" And Request("Nome") = File.Name Then
[*]Response.Write " <tr>"
[*]Response.Write " <td>" & File.Name & " - Arquivo Excluido!</td>"
[*]Response.Write " <td> - </td>"
[*]Response.Write " <td align=right> - </td>"
[*]Response.Write " <td> - </td>"
[*]Response.Write " </tr>"
[*]ObjFS.DeleteFile(Server.MapPath(files/" & File.Name & "))
[*]Else
[*]Response.Write " <tr>"
[*]Response.Write " <td><a href=files/" & File.Name & ">" & File.Name & "</a> | <a href=?Acao=Excluir&Nome=" & File.Name & ">Excluir</a></td>"
[*]Response.Write " <td>" & File.Type & "</td>"
[*]Response.Write " <td align=right>" & File.Size & " </td>"
[*]Response.Write " <td>" & File.DateLastModified & "</td>"
[*]Response.Write " </tr>"
[*]End If
[*]Next
Era só um " a mais, me ajuda ai Salgado, tá quase, deu erro depois q cliquei em excluir...
ASP
-
If Request("Acao") = "Excluir" And Request("Nome") = File.Name Then
-
Response.Write " <tr>"
-
Response.Write " <td>" & File.Name & " - Arquivo Excluido!</td>"
-
Response.Write " <td> - </td>"
-
Response.Write " <td align=right> - </td>"
-
Response.Write " <td> - </td>"
-
Response.Write " </tr>"
-
ObjFS.DeleteFile(Server.MapPath(files/" & File.Name & "))
-
Else
-
Response.Write " <tr>"
-
Response.Write " <td><a href=""files/" & File.Name & """>" & File.Name & "</a> | <a href=""?Acao=Excluir&Nome=" & File.Name & """>Excluir</a></td>"
-
Response.Write " <td>" & File.Type & "</td>"
-
Response.Write " <td align=right>" & File.Size & " </td>"
-
Response.Write " <td>" & File.DateLastModified & "</td>"
-
Response.Write " </tr>"
-
End If
-
Next
Fiz uma pequena alteraçãozinha, coisa de aspas mesmo, diga qual o erro que deu que assim posso "atacar" o local certo.
deu esse erro:
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[string: " & File.Name & "]'
/eduteste/mostra3.asp, line 38
Linha 38:
ASP
[*]ObjFS.DeleteFile(Server.MapPath(files/" & File.Name & "))
Troca essa:
ASP
-
ObjFS.DeleteFile(Server.MapPath(files/" & File.Name & "))
Por:ASP
-
ObjFS.DeleteFile(Server.MapPath("files/" & File.Name ))
Simplesmente sensacional!Parabéns SALGADO!Quando precisar de ajuda em Photoshop, conta comigo.....
beleza :joia:
você usou fso pra mostrar os arquivos
ASP
[*]Set ObjFS = Server.CreateObject("Scripting.FileSystemObject")
Pode usar o proprio fso pra apagar http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif