O que é AspSmartUpload ? - Ajuda Inetweb - Base de Conhecimento
O que é AspSmartUpload ?
Com esse poderoso componente os visitantes de seu site poderão enviar imagens, textos e tudo mais o que você desejar.
É possível criar uma infinidade de aplicações, conforme sua necessidade e imaginação. Saiba como usá-lo:
formexemplo1.htm
<html>
<body>
<form method="post" action="exemplo1.asp" enctype="multipart/form-data">
Arquivo: <input type="file" name="arquivo">
<input type="submit" value="Enviar">
</form>
</body>
</html>
exemplo1.asp
<html>
<body>
<%
Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
objUpload.Upload
objUpload.Save(Server.MapPath("./"))
Response.Write "Arquivo enviado com sucesso!"
%>
</body>
</html>
A seguir veja a função de cada um dos comandos utilizados:
enctype=”multipart/form-data: “Esse método de codificação deve ser usado no envio de arquivos. Sem ele, o upload não funciona.
Set objUpload = Server.CreateObject(“aspSmartUpload.SmartUpload”): Cria uma instância do componente aspSmartUpload com o nome objUpload.
objUpload.Upload: Entra no modo Upload.
objUpload.Save(Server.MapPath(“./”)): Salva todos os arquivos enviados para a pasta indicada: nesse caso é a pasta onde o script está armazenado (Server.MapPath(“./”)).
Incrementando o código
formexemplo2.htm
<html>
<body>
<form method="post" action="exemplo2.asp" enctype="multipart/form-data">
Arquivo1: <input type="file" name="arquivo1"><br>
Arquivo2: <input type="file" name="arquivo2"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
exemplo2.asp
<html>
<body>
<%
Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
objUpload.Upload
For Each File In objUpload.Files
If Not File.IsMissing Then
File.SaveAs(Server.MapPath("./") & File.FileName)
Response.Write("Arquivo <b>" & File.FileName & "</b> ")
Response.Write("(" & File.Size & "Bytes) enviado com sucesso!<br>")
End If
Next
%>
</body>
</html>
A partir do código anterior você pode extrair diversas informações do arquivo, tais como o nome e o tamanho. A principal diferença é que os arquivos são processados individualmente. Confira a seguir a descrição de cada instrução usada para esse recurso:
For Each File In objUpload.Files: Processa os arquivos individualmente
If Not File.IsMissing Then: Verifica se o usuário selecionou o arquivou ou não.
File.SaveAs(Server.MapPath(“./”) & File.FileName): Salva o arquivo no diretório onde este script se encontra com o seu nome original (File.FileName)
No exemplo2.asp os arquivos foram salvos a cada looping da função For Each embora eles também poderiam ser salvos de uma só vez usando o método objUpload.Save.
Veja nos códigos exemplo2save.asp e formexemplo2save.htm que estão contidos neste arquivo, contendo todos os exemplo abordados neste TM.
Se o formulário enviar apenas um arquivo, também é possível exibir as informações como o método Files.Item(X), onde X é o número do arquivo. Neste caso, como ele é o único arquivo, ele é 1. como Response.Write objUpload.Files.Item(1).FileName, por exemplo.
Restrições
Ao permitir que os usuários enviem arquivos ao seu servidor, você deve estar atento ao risco que eles podem apresentar: arquivos .exe podem chegar com vírus e infectar o computador de todos os usuários que dizerem o download. O componente aspSmartUpload resolve esse problema também: nele é possível definir quais os tipos de arquivos que são ou não permitidos sendo que você também pode estabelecer o tamanho máximo que os arquivos enviados podem ter. Parar usar esses recursos, as funções são:
TotalMaxFileSize: Tamanho máximo, em bytes, permitido por envio.
MaxFileSize: Tamanho máximo permitido de cada arquivo enviado.
AllowedFileList: Lista das extensões permitidas.
DeniedFilesList: Lista das extensões não autorizadas.
DenyPhysicalPath: Não permite o acesso a um endereço físico do servidor (por exemplo, C:\Arquivos). Somente aceita caminhos virtuais que ficam localizados dentro da sua pasta Web (por exemplo, /upload).
formexemplo3.htm
<html>
<body>
<form method="post" action="exemplo3.asp" enctype="multipart/form-data">
Arquivo: <input type="file" name="arquivo"><br>
<sup>Somente com a extensão .txt ou .doc e menores que 30KBytes.</sup><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
exemplo3.asp
<html>
<body>
<%
Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
objUpload.MaxFileSize = 30000
objUpload.AllowedFilesList = "txt,doc"
objUpload.DenyPhysicalPath = True
objUpload.Upload
objUpload.Save(".")
Response.Write("Arquivo enviado com sucesso!")
%>
</body>
</html>
IMPORTANTE: A INETWEB não é desenvolvedora deste componente, ficando à nossa responsabilidade somente o suporte na utilização do mesmo. Para maiores informações sobre funcionalidades, recursos, sugestões e reclamações, recomendamos que procure o desenvolvedor responsável do componente.