Ir para conteúdo

POWERED BY:

Arquivado

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

dedindol

[Resolvido] Imput file

Recommended Posts

Olá galera,

 

Estou com um sistema de upload que está funcionando perfeitamente na inclusão das noticias no banco de dados,

 

o problema está na hora de alterar....

 

o que acontece é que na página de alteração eu nao consigo recuperar os valores do banco nos campos imput file.

 

ou seja, todos os campos já trazem preenchidos o conteúdo gravado no banco, menos os imput, então se eu alterar a noticia sem ter colocado novamente o caminho da imagem, esta ficará em branco.

 

segue exemplo:

 

O título eu chamo assim:

CODE

<input name="url" type="text" class="caixa_texto" id="url" value="<%=rs("url")%>" size="63" maxlength="100" />

 

aí vem o conteúdo cadastrado no banco

 

o imput file eu chamo assim:

 

CODE

<input name="foto2" type="file" value="<%=rs("imagem")%>" class="caixa_texto" id="foto2" />

 

mas vem em branco, aí se eu clico no botão alterar, salva em branco no banco de dados.

 

 

como recupero o valor desse imput file?

 

valeu galera, grande abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas é asssim mesmo

 

O campo file é somente leitura

 

Voce faz isso assim

 

Se for escolhido outro arquivo voce altera se estiver em branco nao altera este campo

 

Sendo assim com um simples IF voce faz este teste e monta a sua SQL com ou sem este campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu fiz isso,

 

o código estava assim

 

' Nome dos arquivos enviados

nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

nome_foto2 = Right(caminho_foto2,Len(caminho_foto2)-InstrRev(caminho_foto2,"\"))

 

' Conteudo binario dos arquivos enviados

 

foto = UploadRequest.Item("foto").Item("Value")

foto2 = UploadRequest.Item("foto2").Item("Value")

 

 

' pasta onde as imagens serao guardadas

pasta = Server.MapPath("/fotos/")

nome_foto = "/"&nome_foto

nome_foto2 = "/"&nome_foto2

 

aí eu fiz assim:

 

' Conteudo binario dos arquivos enviados

 

If foto = "" Then

foto = "imagem"

Else

foto = UploadRequest.Item("foto").Item("Value")

End If

 

If foto2 = "" Then

foto2 = "imagem2"

Else

foto2 = UploadRequest.Item("foto2").Item("Value")

End If

 

 

 

' pasta onde as imagens serao guardadas

pasta = Server.MapPath("/fotos/")

nome_foto = "/"&nome_foto

nome_foto2 = "/"&nome_foto2

 

mas aí deu erro de permissão

 

Microsoft VBScript runtime error '800a0046'

 

Permission denied

 

/novo/adm/alteraservicosfinal.asp, line 84

Só nao entendi o por que do erro de permissão se sem o if ele altera normal

 

a linha 84 é essa aí:

 

Linha 83 - if foto2 <> "" then

Linha 84 - Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

Linha 85 - Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto2)

Linha 86 - For i = 1 to LenB(foto2)

Dá pra entender o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Justamente como o nosso amigo Mário Monteiro falou!

 

você n precisa chamar o valor que foi inserido pelo input file para fazer uma alteração qndo ele estiver vazio...

 

explicando por alto faça assim:

 

Era uma vez... http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

 

If foto = "" Then

Sql = "Update Cadastro Set Nome='"&VarNome&"'"

Else

Sql = "Update Cadastro Set Nome='"&VarNome&"', Foto='"&VarFoto&"'"

End If

deu pra entender?

qndo for atualizar seus dados, sem mexer na troca de foto, o valor permanecerá no banco...

caso você queira mudar a foto.. ai que entra a variavel na sua Sql...

 

at+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente

 

Sao dois casos bem distintos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode cre,

 

agora entendi...rsrsrs

 

agora me tira só mais uma dúvida....

 

no caso eu tenho dois campos de imagem, e ao sou muito bom com if's...rsrsrs

 

o ideal seria fazer assim?

 

If foto1 = "" And foto2 = "" Then

 

Sql = "Update Cadastro Set Nome='"&VarNome&"'

 

Else If foto1 = "" Then

 

Sql = "Update Cadastro Set Nome='"&VarNome&"', Foto2='"&VarFoto2&"'"

 

Else If foto2 = "" Then

 

Sql = "Update Cadastro Set Nome='"&VarNome&"', Foto1='"&VarFoto1&"'"

 

Else

 

Sql = "Update Cadastro Set Nome='"&VarNome&"', Foto1='"&VarFoto1&"'", Foto2='"&VarFoto2&"'"

 

End If

é isso?

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

é pra concatenar quando for diferente de vazio e nao igual

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu galera,

 

resolvido o problema,

 

a solucão foi exatamente a que vcs me deram,

 

segue abaixo o código caso alguém precise um dia....hehe

 

CODE
If foto1 = "" And foto2 = "" Then

 

sql = "Update Nome_da_Tabela Set" & _

" campo1 = '" & campo1 & "'" & _

", campo2 = '" & campo2 & "'" & _

", campo3 = " & campo3 & _

" Where id_topo=" & Vid

 

ElseIf foto1 = "" Then

 

sq = "Update Nome_da_Tabela Set" & _

" campo1 = '" & campo1 & "'" & _

", campo2 = '" & campo2 & "'" & _

", tipo = " & tipo & _

", foto2 = '" & foto2 & "'" & _

" Where id_topo=" & Vid

 

ElseIf foto2 = "" Then

 

sq = "Update Nome_da_Tabela Set" & _

" campo1 = '" & campo1 & "'" & _

", campo2 = '" & campo2 & "'" & _

", campo3 = " & campo3 & _

", foto1 = '" & foto1 & "'" & _

" Where id_topo=" & Vid

 

Else

 

sq = "Update Nome_da_Tabela Set" & _

" campo1 = '" & campo1 & "'" & _

", campo2 = '" & campo2 & "'" & _

", campo3 = " & campo3 & _

", foto1 = '" & foto1 & "'" & _

", foto2 = '" & foto2 & "'" & _

" Where id_topo=" & Vid

 

End If

 

Abraços galera,

 

valeu a força mais uma vez...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom qeu resolveu

 

Parabens

 

Abraços

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.