Ir para conteúdo

POWERED BY:

Arquivado

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

Argos

Upload com Dundas permitir campo vazio

Recommended Posts

Tenho um sistema de upload que utiliza o Dundas, com 8 campos. Acontece que se algum deles estiver vazio, ocorre o erro "2147024809 - Index is out of range".

Lendo o manual do Dundas me deparei com o seguinte:

 

"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)."

 

Não é possivel então deixar campos vazios?

Será que há algma forma de identificar os campo vazios e inserir um outra imagem qualquer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele naun aceita, o k você pode fazer é usar um Upload sem componente

você verificar se houve um erro no dundas e redirecionar

 

Criar instancia do Objeto
Set objUpload = Server.CreateObject ("Dundas.Upload.2")

' Gravar arquivo no diretorio dados do proprio site
' Tambem sera gravado em memoria utilizando o metodo SaveToMemory
'
' Tamanho maximo de arquivo de 1MB
objUpload.MaxFileSize=1048576
objUpload.UseUniqueNames=FALSE
objUpload.Save sCaminho

' Verificar se ocorreu algum erro durante a chamada.
' Se ocorrer, redirecionar para uma pagina de Erro ficticia
If Err.Number <> 0 Then
Response.Redirect "Erro_dundasupload.asp"
Else
...
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas sem componente o máximo permitido por arquivo é 200kb... Por isso estou usando o Dundas.

 

Não há como burlar isso de alguma? Ou alguem conhece um componente que permita campo vazio?

 

Estou usando o seguinte pra idtificar o erro:

If Err <> 0 Then

Response.Write Err.Description & " " & Err.Number & "<br>"
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Erro ao carregar arquivo<a href=java script:history.back(-1)>Voltar</a> </b></font>"
Else
response.Write("<script>alert('Cadastro Efetudo com Sucesso');</script>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por padrão, o IIS permite upload de apenas 200kb via http por arquivo através das suas páginas. Para aumentar este limite, pare o IIS e edite o arquivo C:\windows\system32\inetsvr and edit metabase.xml.

O valor padrão setado para AspMaxRequestEntityAllowed é de 204800 (200kb). Para permitir upload de arquivos maiores, aumente este valor. Para aumentar para 2 megas, coloque 2048000.

Mas verifique o limite de seu componente de upload

Compartilhar este post


Link para o post
Compartilhar em outros sites

segundo o exemplo que consta manual do proprio fabricante do componente só fazer isso:

<%
'most control methods throw an exception if an error occurs so we will use an
' On Error Resume Next statement for error trapping purposes
On Error Resume Next

'create an instance of the Upload control
Set objUpload = Server.CreateObject ("Dundas.Upload.2")

'we will save all uploaded data (form data as well as any uploaded files) to disk.
'note that we could also save the uploaded files to memory with the SaveToMemory method.
'also note that both the Save and SaveToMemory methods populate the Form and
' Files collections with one method call.
'its also important to realize that by default files saved to disk will have unique filenames, but
' this can be changed with the UseUniqueNames property
objUpload.Save "c:\temp\"

'check to see if method call was successful using VBScript's Err object, if 
' an error occurred we will redirect user to a fictitious error page
If Err.Number <> 0 Then
 Response.Redirect "Error.asp"
Else
'use a For Each loop and check to see if the uploaded file is an
' executable (utilizing VBScript's InStr method), if it is delete it from disk.
'but first we will output the name of the file input box(es) responsible for uploads
For Each objUploadedFile in objUpload.Files
 Response.Write "The "" & objUploadedFile.TagName & "" file input box was used to upload a file.<br>"
 If InStr(1,objUploadedFile.ContentType,"octet-stream") Then
 'if the default web account does not have the right to delete files
 ' for the folder you save uploaded files to (in this case c:\temp) then you can either set
 ' the required rights manually or you could use the ImpersonateUser method
 objUploadedFile.Delete
 End If
Next

'we will just output the name of the populated form elements and their values
For Each objFormItem In objUpload.Form
 Response.Write "<br>The name of the form item is: " & objFormItem
 Response.Write "<br>The value of the form item is: " & objFormItem.Value & "<br>"
Next

End If

'Release resources
Set objUpload = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ressucitando o topico. só fiz o cadastro aqui e quis postar pois o google sempre indica esse topico esse quesito!.. dai resolvi da seguinte maneira.

 

antes de setar variavel com o conteudo do form analise se ele esta vazio! ai sim nao estando vc seta!,


LOGICA:
SE CAMPO DO FORMULARIO DIFERENTE DE " VAZIO " ENTAO
MINHA VARIAVEL IGUAL AO CONTEUDO DO CAMPO DO FORMULARIO

CASO CONTRARIO

MINHA VARIAVEL É NULA OU A UM CODIGO QUALQUER QUE SEJA

 

if DUNDAS.FORM("CAMPO")<>"" THEN

SET VARIAVEL=DUNDAS.FORM("CAMPO")

ELSE

VARIAVEL="VAZIO"

END IF

 

espero que isso apareça no google caso eu nao lembre mais pra frente :)

e se algo mais simples ja estiver cadastrado no site desculpem pois foi meu 1 post.

 

se alguem ler isso. 1 coisa que me chateia em ler as ajudas. é nao explicar a logica. porque existem mil formas de se chegar ao resultado umas mais faceis umas mais dificeis. mas se for comentado a logica de como fazer creio que seria muito util para a criatividade de cada 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para maior fluidez do fórum, solicitamos gentilmente que, quando for um tópico muito antigo, ao invés de ressucitar crie um novo e dae linkamos para o post.

 

Obrigado

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.