O Dundas Upload Control é um componente que permite que você salve e manipule arquivos carregados para o servidor via browser (sem precisar ficar fazendo FTP, etc).
Ele é designado para ser usado com o ASP (Active Server Pages) que são hospedados no Microsoft IIS (Internet Information Sever).
Como usar o Dundas Upload.
Siga esses passos quando usar o Dundas Upload Control.
1- Tenha certeza de que o formulário que está afixando (POSTING) o arquivo, está usando um EncType de “Multipart/Form-Data”. Você também precisará usar elementos para inclusão do arquivo (<input type=”file”>) nesse formulário, assim você poderá procurar o arquivo que se deseja carregar no servidor.
2- Habilitar o identificador de erro na página que esta sendo afixada com “On Error Resume Next”
3- Crie uma instância do Dundas Upload Control na página em que está sendo afixada. Para isso use o método Server.CreateObject com um ProgID “Dundas.Upload” ou “Dundas.Upload.2”.
4- Carregue os arquivos no servidor com os métodos Save ou SavetoMemory. Alternativamente você pode carregar arquivos incrementalmente usando o método GetNextFile.
5- Obtenha qualquer informação do formulário através da coleção do formulário (Form collection). Note que formulários vazios não serão inseridos na coleção, e a tentativa de obter valores de um formulário vazio resultará em um erro (que poderá ser capturada depois).
6- Manipule arquivos salvos no disco ou na memória com a colecao de arquivos (Files collection). Essa coleção é preenchida com dados depois do método Save ou Save toMemory. Quando o arquivo é carregado um por vez, pelo objeto Next File, a coleção é preenchida com um arquivo por vez.
7- Coloque o objeto Upload para nothing.
Propriedades do objeto Dundas Upload Control
CheckMacBinary
Você pode selecionar essa propriedade para TRUE antes de carregar o arquivo, assim cada arquivo será checado por um formato MacBinary.
MaxFileCount
O número máximo de arquivos que podem ser carregados.
MaxFileSize
O tamanho máximo de qualquer arquivo a ser carregado. (em bytes)
MaxUploadSize
O tamanho máximo de dados que pode ser carregado para o servidor (em bytes). Isso inclui os dados do formulário também.
ProgressID
Defina essa propriedade com o unique ID (obtido pelo componente Upload Process do Dundas State Server) quando estiver fazendo um upload com uma janela de barra de progressão.
StateServer
Defina essa propriedade com o endereço IP do Dundas State Server quando estiver fazendo um upload com uma janela de barra de progressão.
StateServerPort
Defina essa propriedade com a porta em que o StateServer está esperando quando estiver fazendo um upload com uma janela de barra de progressão.
UseUniqueNames
Guarda arquivos carregados com nomes únicos. Isso é feito colocando um GUID na frente do nome do arquivo e “_”.
UseVirtualDir
Set essa propriedade para TRUE para o diretório virtual ser usado. Se TRUE, então qualquer método que utiliza o argumento Path deverá usar o caminho do diretório virtual e não o caminho do diretório físico.
Collection Properties
Files
Coleção de objetos Uploaded Files, cada um representa um arquivo carregado de uma página html com formulário.
Form
Coleção de objetos Formitem, com cada objeto representando um elemento do form. Note que os elementos “input” do tipo de arquivo (<input type=”file”>) não são representados na coleção de formulário.
Métodos do objeto Dundas Upload Control
DirectoryCreate
Cria um diretório.
DirectoryDelete
Apaga um diretório.
DirectoryExists
Checa se o diretório existe.
FileCopy
Copia um arquivo de um lugar para outro.
FileDelete
Apaga um arquivo específico..
FileExists
Checa se um arquivo específico existe.
FileMove
Move um arquivo de um lugar para outro.
GetFileDirName
Chame esse método para extrair o nome do diretório de um caminho de diretório específico.
GetFileExt
Chame esse método para extrair a extensão do arquivo de um caminho de diretório específico.
GetFileName
Chame esse método para extrair o nome do arquivo de um caminho de diretório específico.
GetNextFile
Usado para obter informações do formulário incrementalmente, esse método retorna objetos NextFile.
GetUniqueName
Esse método retorna um GUID. Útil quando grava arquivos com nomes únicos.
ImpersonateUser
Chame esse método para utilizar temporariamente uma conta do Windows, diferente do padrão. (usualmente a conta IUSR)
ImpersonationTerminate
Chame esse método para reverter para o usuário padrão, depois de ter usado o método ImpersonateUser.
RegisterServer
Chame esse método para registrar um componente COM.
Save
Salva arquivos carregados para o disco e preenche as coleções Form e Files do Upload Control.
SaveToMemory
Salva toda a informação do formulário (inclusive arquivos e valores de elementos do formulario) para a memória. Esse método também preenche as coleções Files e Form.
SendBinary
Chame esse método para fazer download de arquivos do servidor.
Quick Start
O código a seguir demonstra como preencher as coleções do Upload control, salvar arquivos carregados no disco e obter dados do formulário. Note que, não fazermos nenhuma checagem de erro.
Nós assumimos que um formulário com encoding type of "Multipart/Form-Data" está afixando na página ASP que contém o seguinte código:
<%@ Language=VBScript %>
<%
'a maioria dos métodos de controle, lançam uma exceção se um erro ocorre, então usaremos a expressão
' On Error Resume Next
On Error Resume Next
'cria a instância do Upload control
Set objUpload = Server.CreateObject("Dundas.Upload.2")
'Salva arquivos carregados para o disco. Note que poderíamos também salvar na memória
' Isso preenche as coleções de arquivos e de formulário.
objUpload.Save "c:\temp\"
'Obtém o valor de um elemento do formulário chamado txtName
strName = objUpload.Form("txtName")
'Obtém o tamanho do primeiro arquivo carregado
strSize = objUpload.Files(0).Size
'Libera os recursos.
Set objUpload = Nothing
%>
Mais um exemplo:
Arquivo form_upload.asp
<HTML>
<HEAD>
<TITLE>WebNOW - UpLoad Com Dundas UpLoad</TITLE>
</HEAD>
<BODY> <!--
Neste tutorial nós estaremos utilizando o Objeto Dundas Upload (encontrado em http://www.dundas.com), demos preferência ao Dundas por ser gratuito e fácil de se manipular.
Antes de mais nada baixe o componente do site e instale-o na máquina que processará os fontes ASP. O máximo que terá que fazer para instala-lo é clicar em Next.
Nós iniciaremos criando um formulário e a partir dele enviaremos os anexos para o servidor e o gravaremos no local que determinarmos.
Vamos ao código comentado!
Antes de testarmos os fontes fique atento se o seu PWS ou IIS estão configurados de forma que de acesso de escrita na pasta onde serão salvos os arquivos carregados pelo UpLoad. Caso contrário aparecerá o erro Preste atenção a linha do <form... onde esta ENCTYPE="multipart/form-data" essa linha determina ao Browser que os arquivos serão carregados para o servidor e o ASP com o objeto do Dundas tratarão de salva-lo num local determinado. (veremos isso na página grava_anexo.asp, mais a baixo.)
A baixo será montado o formulário para o anexo dos arquivos
'Utilizaremos a função On Error Resume Next para ignorar qualquer erro que possa vir a acontecer, e posteriormente iremos identifica-lo e só então comunicarmos ao usuário.
On Error Resume Next
Response.Write "<HTML><HEAD><TITLE>WebNOW - UpLoad com Dundas UpLoad</TITLE></HEAD><BODY>"
Dim objUpload
'Cria uma instancia do objeto Upload e atribui a variável objUpload.
Set objUpload = server.CreateObject("Dundas.Upload.2")
'Determinamos True em UseVirtualDir para que possamos utilizar o caminho virtual.
objUpload.UseVirtualDir = True
'Determinamos False em UseUniqueNames para que o arquivo não mude de nome.
objUpload.UseUniqueNames = False
'Utilizamos o caminho virtual que determina onde serão salvos os arquivos carregados.
objUpload.Save "/image"
'INFORMAÇÕES DO ARQUIVO CARREGADO
'loop through all uploaded files, and output their Content Type
'Aqui nós verificaremos se ocorreu algum tipo de erro com os dados carregados. O objeto Err guarda o último erro, caso nenhum erro tenha ocorrido o objeto conterá o valor 0 (zero) com isso podemos verificar o valor do objeto e determinarmos qual mensagem será dada ao usuário.
If Err <> 0 Then
'Aqui estamos imprimindo na tela do usuário a descrição do erro e seu número.
Pergunta
Dead-Drunk
Encontrei este sobre Dundas....
Dundas Upload Control 2.0
O Dundas Upload Control é um componente que permite que você salve e manipule arquivos carregados para o servidor via browser (sem precisar ficar fazendo FTP, etc).
Ele é designado para ser usado com o ASP (Active Server Pages) que são hospedados no Microsoft IIS (Internet Information Sever).
Como usar o Dundas Upload.
Siga esses passos quando usar o Dundas Upload Control.
1- Tenha certeza de que o formulário que está afixando (POSTING) o arquivo, está usando um EncType de “Multipart/Form-Data”. Você também precisará usar elementos para inclusão do arquivo (<input type=”file”>) nesse formulário, assim você poderá procurar o arquivo que se deseja carregar no servidor.
2- Habilitar o identificador de erro na página que esta sendo afixada com “On Error Resume Next”
3- Crie uma instância do Dundas Upload Control na página em que está sendo afixada. Para isso use o método Server.CreateObject com um ProgID “Dundas.Upload” ou “Dundas.Upload.2”.
4- Carregue os arquivos no servidor com os métodos Save ou SavetoMemory. Alternativamente você pode carregar arquivos incrementalmente usando o método GetNextFile.
5- Obtenha qualquer informação do formulário através da coleção do formulário (Form collection). Note que formulários vazios não serão inseridos na coleção, e a tentativa de obter valores de um formulário vazio resultará em um erro (que poderá ser capturada depois).
6- Manipule arquivos salvos no disco ou na memória com a colecao de arquivos (Files collection). Essa coleção é preenchida com dados depois do método Save ou Save toMemory. Quando o arquivo é carregado um por vez, pelo objeto Next File, a coleção é preenchida com um arquivo por vez.
7- Coloque o objeto Upload para nothing.
Propriedades do objeto Dundas Upload Control
CheckMacBinary
Você pode selecionar essa propriedade para TRUE antes de carregar o arquivo, assim cada arquivo será checado por um formato MacBinary.
MaxFileCount
O número máximo de arquivos que podem ser carregados.
MaxFileSize
O tamanho máximo de qualquer arquivo a ser carregado. (em bytes)
MaxUploadSize
O tamanho máximo de dados que pode ser carregado para o servidor (em bytes). Isso inclui os dados do formulário também.
ProgressID
Defina essa propriedade com o unique ID (obtido pelo componente Upload Process do Dundas State Server) quando estiver fazendo um upload com uma janela de barra de progressão.
StateServer
Defina essa propriedade com o endereço IP do Dundas State Server quando estiver fazendo um upload com uma janela de barra de progressão.
StateServerPort
Defina essa propriedade com a porta em que o StateServer está esperando quando estiver fazendo um upload com uma janela de barra de progressão.
UseUniqueNames
Guarda arquivos carregados com nomes únicos. Isso é feito colocando um GUID na frente do nome do arquivo e “_”.
UseVirtualDir
Set essa propriedade para TRUE para o diretório virtual ser usado. Se TRUE, então qualquer método que utiliza o argumento Path deverá usar o caminho do diretório virtual e não o caminho do diretório físico.
Collection Properties
Files
Coleção de objetos Uploaded Files, cada um representa um arquivo carregado de uma página html com formulário.
Form
Coleção de objetos Formitem, com cada objeto representando um elemento do form. Note que os elementos “input” do tipo de arquivo (<input type=”file”>) não são representados na coleção de formulário.
Métodos do objeto Dundas Upload Control
DirectoryCreate
Cria um diretório.
DirectoryDelete
Apaga um diretório.
DirectoryExists
Checa se o diretório existe.
FileCopy
Copia um arquivo de um lugar para outro.
FileDelete
Apaga um arquivo específico..
FileExists
Checa se um arquivo específico existe.
FileMove
Move um arquivo de um lugar para outro.
GetFileDirName
Chame esse método para extrair o nome do diretório de um caminho de diretório específico.
GetFileExt
Chame esse método para extrair a extensão do arquivo de um caminho de diretório específico.
GetFileName
Chame esse método para extrair o nome do arquivo de um caminho de diretório específico.
GetNextFile
Usado para obter informações do formulário incrementalmente, esse método retorna objetos NextFile.
GetUniqueName
Esse método retorna um GUID. Útil quando grava arquivos com nomes únicos.
ImpersonateUser
Chame esse método para utilizar temporariamente uma conta do Windows, diferente do padrão. (usualmente a conta IUSR)
ImpersonationTerminate
Chame esse método para reverter para o usuário padrão, depois de ter usado o método ImpersonateUser.
RegisterServer
Chame esse método para registrar um componente COM.
Save
Salva arquivos carregados para o disco e preenche as coleções Form e Files do Upload Control.
SaveToMemory
Salva toda a informação do formulário (inclusive arquivos e valores de elementos do formulario) para a memória. Esse método também preenche as coleções Files e Form.
SendBinary
Chame esse método para fazer download de arquivos do servidor.
Quick Start
O código a seguir demonstra como preencher as coleções do Upload control, salvar arquivos carregados no disco e obter dados do formulário. Note que, não fazermos nenhuma checagem de erro.
Nós assumimos que um formulário com encoding type of "Multipart/Form-Data" está afixando na página ASP que contém o seguinte código:
<%@ Language=VBScript %>
<%
'a maioria dos métodos de controle, lançam uma exceção se um erro ocorre, então usaremos a expressão
' On Error Resume Next
On Error Resume Next
'cria a instância do Upload control
Set objUpload = Server.CreateObject("Dundas.Upload.2")
'Salva arquivos carregados para o disco. Note que poderíamos também salvar na memória
' Isso preenche as coleções de arquivos e de formulário.
objUpload.Save "c:\temp\"
'Obtém o valor de um elemento do formulário chamado txtName
strName = objUpload.Form("txtName")
'Obtém o tamanho do primeiro arquivo carregado
strSize = objUpload.Files(0).Size
'Libera os recursos.
Set objUpload = Nothing
%>
Mais um exemplo:
Arquivo form_upload.asp
<HTML>
<HEAD>
<TITLE>WebNOW - UpLoad Com Dundas UpLoad</TITLE>
</HEAD>
<BODY> <!--
Neste tutorial nós estaremos utilizando o Objeto Dundas Upload (encontrado em http://www.dundas.com), demos preferência ao Dundas por ser gratuito e fácil de se manipular.
Antes de mais nada baixe o componente do site e instale-o na máquina que processará os fontes ASP. O máximo que terá que fazer para instala-lo é clicar em Next.
Nós iniciaremos criando um formulário e a partir dele enviaremos os anexos para o servidor e o gravaremos no local que determinarmos.
Vamos ao código comentado!
Antes de testarmos os fontes fique atento se o seu PWS ou IIS estão configurados de forma que de acesso de escrita na pasta onde serão salvos os arquivos carregados pelo UpLoad. Caso contrário aparecerá o erro Preste atenção a linha do <form... onde esta ENCTYPE="multipart/form-data" essa linha determina ao Browser que os arquivos serão carregados para o servidor e o ASP com o objeto do Dundas tratarão de salva-lo num local determinado. (veremos isso na página grava_anexo.asp, mais a baixo.)
A baixo será montado o formulário para o anexo dos arquivos
-->
<b><form ENCTYPE="multipart/form-data" method="post" action="grava_anexo.asp">
<table width="100%" border="0">
<tr>
<td> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Anexo 1:
<input type="file" value="Anexo" name="file">
</font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Anexo 2:
<input type="file" value="Anexo" name="file2">
</font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Anexo 3:
<input type="file" value="Anexo" name="file3">
</font></td>
</tr>
</table>
<input type="submit" value="Enviar" name="submit" onClick="">
</form>
</BODY>
</HTML></b>
<!--Fim do form_upload.asp-->
Arquivo grava_anexo.asp
<%
'Início de grava_anexo.asp
'Utilizaremos a função On Error Resume Next para ignorar qualquer erro que possa vir a acontecer, e posteriormente iremos identifica-lo e só então comunicarmos ao usuário.
On Error Resume Next
Response.Write "<HTML><HEAD><TITLE>WebNOW - UpLoad com Dundas UpLoad</TITLE></HEAD><BODY>"
Dim objUpload
'Cria uma instancia do objeto Upload e atribui a variável objUpload.
Set objUpload = server.CreateObject("Dundas.Upload.2")
'Determinamos True em UseVirtualDir para que possamos utilizar o caminho virtual.
objUpload.UseVirtualDir = True
'Determinamos False em UseUniqueNames para que o arquivo não mude de nome.
objUpload.UseUniqueNames = False
'Utilizamos o caminho virtual que determina onde serão salvos os arquivos carregados.
objUpload.Save "/image"
'INFORMAÇÕES DO ARQUIVO CARREGADO
'loop through all uploaded files, and output their Content Type
For Each objUploadedFile in objUpload.Files
Response.Write("content Type: " & objUploadedFile.ContentType & "<br>")
Next
'loop through all uploaded files, and output their Original Path
For Each objUploadedFile in objUpload.Files
Response.Write("Original Path: " & objUploadedFile.OriginalPath & "<br>")
Next
'Informação para o caminho físico em que o arquivo foi carregado
'loop through all uploaded files, and output their Path
For Each objUploadedFile in objUpload.Files
Response.Write("Path: " & objUploadedFile.Path & "<br>")
Next
'loop through all uploaded files, and output their size in bytes
For Each objUploadedFile in objUpload.Files
Response.Write("Size: " & objUploadedFile.Size & "<br>")
Next
'loop through all uploaded files, and output their tagname
For Each objUploadedFile in objUpload.Files
Response.Write("TagName: " & objUploadedFile.TagName & "<br>")
Next
'Limpa a instância criada na memória do servidor.
Set objUpload = nothing
'Aqui nós verificaremos se ocorreu algum tipo de erro com os dados carregados. O objeto Err guarda o último erro, caso nenhum erro tenha ocorrido o objeto conterá o valor 0 (zero) com isso podemos verificar o valor do objeto e determinarmos qual mensagem será dada ao usuário.
If Err <> 0 Then
'Aqui estamos imprimindo na tela do usuário a descrição do erro e seu número.
Response.Write Err.Description & " " & Err.Number & "<br>"
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Houve erro(s) ao carregar o(s) arquivo(s) anexado(s)!<br><a href=javascript:history.back(-1)>Voltar</a> </b></font>"
Else
'Se o objeto Err for igual a 0 será apresentado a mensagem de sucesso e os dados estarão salvos no caminho determinado acima
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Seus dados foram carregados com sucesso!</b></font><br>"
'Response.Write Path
End If
Response.Write "</BODY></HTML>"
'Fim de grava_anexo.asp
%>
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.