Ir para conteúdo

POWERED BY:

Arquivado

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

Loko da Web

[Resolvido] Fazer cadastro com valor nulo

Recommended Posts

Bom dia!

 

Putz ! Cada dia aparece um problema, não tem jeito... é o seguinte estou fazendo uma sistema de cadastro com foto, funciona 100%. O problema é quando eu vou fazer o cadastro sem incluir uma foto, aparece esse erro:

 

Persits.Upload.1error '800a0009'

Index out of range.

A linha que acusa o erro, é esse abaixo... ou seja, como não foi incluindo nenhuma imagem, apresentara esse erro.

 

imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)

Então tentei fazer o seguinte, quando o form da imagem estiver nula, fara o cadastro apenas dos textos... e quando o form da imagem for preenchida, fara o cadastro normal, com todos os dados. Tenti fazer com a condição IF, fiz conforme abaixo:

 

if Request.Form("imagem") <> "" then 

'Incluira dados com a foto preenchida

else 

'Incluira dados quando a foto não preenchida

end if

If Request.Form("imagem") = "" Then

'Incluira dados com a foto preenchida

Else

'Incluira dados quando a foto não preenchida

End If

Aparece a mensagem de ok, mas nada é incluido no bd...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer um If um condicional, verificando caso nao foi incluindo nenhuma imagem

você pode colocar como padraun uma imagem sua... entendeu para naun ficar sem nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer um If um condicional, verificando caso nao foi incluindo nenhuma imagem

você pode colocar como padraun uma imagem sua... entendeu para naun ficar sem nada

 

Xanburzum, cara tentei fazer dessa maneira... mas sempre a que tiver na primeira parte, e gerado a ação...

 

If Upload.Form("imagem") = "" Then 
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName) 
Else 
imagem = Server.MapPath("teste.jpg")  
End If

Por exemplo quando escolho uma imagem no form, e gerado normalmente... mas quando deixo o valor nulo é gerado o erro. Entao inverti a ordem, e acontece ao contrario... Quando deixo o valor nulo é utilizado a imagem padrao, tudo ok, mas coloco a imagem, é novamente utilizado a imagem padrao.

 

If Upload.Form("imagem") = "" Then 
imagem = Server.MapPath("teste.jpg")  
Else 
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName) 
End If

É que nesta rotina, o campo imagem não é obrigatorio, por isso saber qual condição utilizar ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seguinte code naun esta salvando ...

 

imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)

If Upload.Form("imagem") = "" Then
 imagem = Server.MapPath("teste.jpg")
  Else
 imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName) 
End If

poe a imagem e dá um response.write em Upload.Form("imagem")

para ver o k ele recupera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

var_img=Upload.Form("imagem")
response.write (var_img)
response.end()

verifique se esta tudo ok com o form...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é como eu disse

verifique se esta tudo ok com o form...

e como meu grande mano Ted k´ salientou

você colocou a propriedade de file no <form>??

e o

 

var_img=Upload.Form("imagem")
response.write (var_img)
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara posso ta falando bobagem , mas tb já tive uns erros semelhantes e o problema era o meu proprio BD que ñ estava aceitando campo nulo, da uma olhada derrepente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode setá-lo no bd para aeitar valor nulo, tb...

e o

var_img=Upload.Form("imagem")
response.write (var_img)
response.end()

poste o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso estar falando M*p%**h%**p%***, mas acho que você deveria deixar o campo para receber dado nulo ou deixar uma imagem padrão para quando não selecionar nenhuma imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi falado isso acima

 

você pode fazer um If um condicional, verificando caso nao foi incluindo nenhuma imagem

você pode colocar como padraun uma imagem sua... entendeu para naun ficar sem nada

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

É o seguinte, o response.write não esta funcionado, na tela não aparece nada, fica tudo em branco ... ???!!!!

 

var_img=Upload.Form("imagem") 
response.write (var_img) 
response.end()

Ja estava setado no bd permitindo comprimento zero... no form esta como file... Galera para nao alongar o topico e facilitar a analise, disponibilizarei o cod completo....

 

form.asp

 

<html>
<head>
<title>Upload Simples</title>
</head>
<body>
<form name="form" method="post" enctype="multipart/form-data" action="upload.asp">
<table width="500" cellspacing="0" cellpadding="0" border="0">
<tr>
<td>Titulo:</td><td><input type="text" size="40" name="titulo">
</td>
</tr>
<tr>
<td>Titulo Original:</td><td><input type="text" size="40" name="titulo_original">
</td>
</tr>
<tr>
<td>Genero:</td><td><input type="text" size="40" name="genero">
</td>
</tr>
<tr>
<td>Foto:</td><td><input type="file" size="40" name="picture">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Enviar">
</td>
</tr>
</table>
</form>
</body>
</html>

upload.asp

 

' Cria uma instância do controle
Set Upload = Server.CreateObject("Persits.Upload.1")

' Não sobrevescrever arquivos
Upload.OverwriteFiles = False

' Limita o tamanho máximo do arquivo em 1MB
Upload.SetMaxSize 1048576

' Salva o arquivo
Upload.Save  server.MapPath("upload/")

' Cria uma instância do controle
Set AspJpeg = Server.CreateObject("Persits.Jpeg")

'Localização da imagem original
If Upload.Form("picture") = "" Then
imagem = Server.MapPath("teste.jpg") 
Else
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)  
End If

' Abre a imagem original
AspJpeg.Open imagem

' Reduz a imagem
AspJpeg.Width  = 130
AspJpeg.Height = 185

' Salva a imagem reduzida e renomea
capa = ""& year(now) &""& month(now) &""& day(now) &""& hour(now) &""& minute(now) &""& second(now) &".jpg"
AspJpeg.Save Server.MapPath("upload"&"/G"& capa &ext)

' Reduz a imagem
AspJpeg.Width  = 82
AspJpeg.Height = 120

' Salva a imagem reduzida e renomea
thumb = ""& year(now) &""& month(now) &""& day(now) &""& hour(now) &""& minute(now) &""& second(now) &".jpg"
AspJpeg.Save Server.MapPath("upload"&"/P"& thumb &ext)

'Qualidade das imagens
AspJpeg.Quality = 90

'caminho da capa no bd
ccapa = "upload/G" + capa

'caminho da thumb no bd
cthumb = "upload/P" + thumb

'Conecta e inclui arquivos no bd
url_conexao = Server.MapPath("fotos.mdb")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao 

sql = "Insert into Tab_fotos (titulo,titulo_original,genero,capa,thumb) values ('"& Upload.Form("titulo") &"' , '"& 

Upload.Form("titulo_original") &"' , '"& Upload.Form("genero") &"' , '"& ccapa &"' , '"& cthumb &"')"
Conexao.Execute(sql)

response.write("<script>location = 'default.asp';alert('Cadastrado feito com sucesso !')</script>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok esta sendo recuperado aki

imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o k é recuperado nesta linha

 

imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)

você consegue recuperar o valor aki...

o if esta funcionando

 

'Localização da imagem 
originalIf Upload.Form("picture") = "" Then
imagem = Server.MapPath("teste.jpg") 
Else
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)
  End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

o k é recuperado nesta linha

 

imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)

você consegue recuperar o valor aki...

o if esta funcionando

 

'Localização da imagem 
originalIf Upload.Form("picture") = "" Then
imagem = Server.MapPath("teste.jpg") 
Else
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName)
  End If

 

xanburzum, cara acredito que você testou esse cod,... correto ??? E provavelmente, fez a inserção dos dados sem incluir a imagem, deixando em branco no form, o processo ocorre 100%, é utilizado a imagem teste.jpg para caso tenha o form nulo... Mas, o problema é agora, preencho os dados, e agora busco uma imagem... quando é processado a inserção e geração de miniatura, ele continua utilizando a imagem teste.jpg, e não a imagem que upei. Então o IF funciona apenas 50%...

 

E realmente não sei a solução para isso,...

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem exemplos tb do lab. de script,p ode te ajudar

verifique ele antes do Upload.Save, tente fazer assim:

 

'Localização da imagem original
If Upload.Form("picture") = "" Then
imagem = Server.MapPath("teste.jpg") 
Else
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName) 
 End If

' Salva o arquivo
Upload.Save  imagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, finalmente consegui...eis a solução !!!!

 

If count = 0 then 
imagem = Server.MapPath("upload/default.jpg") 
else
imagem = Server.MapPath("upload/"& Upload.Files(1).OriginalFileName) 
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.