Ir para conteúdo

POWERED BY:

Arquivado

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

luiscarlos5046

[Resolvido] Upload com Persits

Recommended Posts

Olá Galera!

 

Estou com um probleminha que está me dando show.

Fiz o sistema de upload para 4 imagens e demais campos. Se eu selecionar as 4 imagens, o upload corre sem problemas, pego os nomes dos arquivos e gravo no BD.

Agora preciso verificar se caso algum campo ficar vazio, permitir e gravar o restante normal.

Estou pegando os nomes dos arquivo assim:

set img1 = Upload.files("img1")
img1 = img1.FileName

Desta forma eu consigo listar todos na tela, mas não consegui pegar os nomes das imagens numa variável. Lembrando, são 4 e as vezes eu só preciso enviar 2 ou 3.

For Each File in Upload.Files
	Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"
Next

Código completo:

<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = True
On Error Resume Next

Upload.SetMaxSize 1048576
Count= Upload.Save("e:\home\negociosem\Web\upload")

For Each myForm in Upload.Form
	select case myForm.name
		case "id_categoria"
			id_categoria = myForm.value
		case "direcao"
			direcao = myForm.value
		case "nome"
			nome = myForm.value
		case "descricao"
			descricao = myForm.value
		case "status_c"
			status_c = myForm.value
	end select
Next

' EXIBE IMAGENS ENVIADAS
'For Each File in Upload.Files
'	Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"
'Next

set banner = Upload.files("banner")
banner = banner.FileName
set banner_top = Upload.files("banner_top")
banner_top = banner_top.FileName
set foto1 = Upload.files("foto1")
foto1 = foto1.FileName
set foto2 = Upload.files("foto2")
foto2 = foto2.FileName
...

Como posso fazer a verificação se há campos vazios, e se não tiver, enviar somente campos preenchidos e pegar os nomes dos arquivos?

Com aquele For Each File.... é possível pegar os nomes das imagens numa variável ?

 

Luis Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá luiscarlos5046

 

dá uma procurada no forum k existem exemplos, ja na verificacaun de campos vazios, você pode fazer no clienet, com javascript, fica mais rápido..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim meu amigo,

já fiz as verificações que preciso no cliente, mas os uploads, eu gostaria que fossem opcionais alguns campos.

 

Já andei vasculhando aqui no forum, mas as pesquisas aqui no forum ficaram meia complicadas pra entender os resultados.

 

Vou gastar mais um tempinho e procurar algum exemplo. Caso não achar, volto a dar o grito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver e vou compartilhar com quem precisar.

Segue o código completo:

<!--#include file="abrecon.asp"-->
<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 1048576
Count= Upload.Save("e:\home\negociosem\Web\upload")

' Pega os campos FORMS e guarda nas variáveis
For Each myForm in Upload.Form
	select case myForm.name
		case "id_categoria"
			id_categoria = myForm.value
		case "nome"
			nome = myForm.value
		case "descricao"
			descricao = myForm.value
	end select
Next

' Pega os campos FILE e verifica as iniciais do arquivo enviado e guarda nas variáveis
For Each File in Upload.Files
	select case Mid(File.FileName, 1, 4)
		case "pub_"
			banner = File.FileName
		case "top_"
			banner_top = File.FileName
	end select
	select case Mid(File.FileName, 1, 6)
		case "foto1_"
			foto1 = File.FileName
		case "foto2_"
			foto2 = File.FileName
	end select
Next

' Usar este RESPONSE.WRITE para testar se as imagens e campos estão enviando corretos
'Response.Write "FILES ------------------------------------------------</br>"
'Response.Write banner &"</br>"
'Response.Write banner_top &"</br>"
'Response.Write foto1 &"</br>"
'Response.Write foto2 &"</br>"
'Response.Write "FORMS ------------------------------------------------</br>"
'Response.Write id_categoria &"</br>"
'Response.Write nome &"</br>"
'Response.Write descricao &"</br>"
'Response.End()

If Err <> 0 Then
%>
	<script>
		alert(" Desculpe, houve um erro ao enviar imagens! \n <% =Err.Description %>");
		history.back();
	</script>
<%
Else
	link = Request.QueryString("link")
	
	site = site & url_site
	sqlInsert = ""
	sqlInsert = sqlInsert & " INSERT INTO "& tabela &" ( "
	sqlInsert = sqlInsert & " 					   id_categoria, "
	sqlInsert = sqlInsert & " 					   nome, "
	sqlInsert = sqlInsert & " 					   descricao, "
	sqlInsert = sqlInsert & " 					   banner, "
	sqlInsert = sqlInsert & " 					   banner_top, "
	sqlInsert = sqlInsert & " 					   foto1, "
	sqlInsert = sqlInsert & " 					   foto2 "
	sqlInsert = sqlInsert & " 					    ) "
	sqlInsert = sqlInsert & " 		  VALUES   ( "	
	sqlInsert = sqlInsert & " 		           '" & id_categoria &"', "
	sqlInsert = sqlInsert & " 		           '" & nome &"', "
	sqlInsert = sqlInsert & " 		           '" & descricao &"', "
	sqlInsert = sqlInsert & " 		           '" & banner &"', "
	sqlInsert = sqlInsert & " 		           '" & banner_top &"', "
	sqlInsert = sqlInsert & " 		           '" & foto1 &"', "
	sqlInsert = sqlInsert & " 		           '" & foto2 &"' "
	sqlInsert = sqlInsert & " 		           ) "
	cn.execute(sqlInsert)
	
   if err.number <> 0 then	%>
		<script>
			alert(" Desculpe, houve um erro ao gravar no Banco de Dados! \n <% =Err.Description %>");
			history.back();
		</script>
<% else %>
	<script>
		alert(" Dados adicionados com sucesso! \n Confira no site se os dados estão corretos.");
		window.location='index.asp?link=<% =link %>';
	</script>
<% end if 
End If
%>
<!--#include file="fechacon.asp"-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi amigo eu tenho um site que faz upload para 10 imagens além de ter tb uns 15 campos de textos...

 

Alguns campos são de preenchimento obrigatorio e outros não. Então se for obrigatorio eu uso um código para validar e retornar ao cliente esse aviso. Se não for o código inseri automaticamente 3 traçinhos --- apenas para nao deixar em branco.

 

Fica assim em parte:

 

Quando obrigatorio:

If UploadRequest.Item("referencia").Item("Value") <> "" Then
referencia = UploadRequest.Item("referencia").Item("Value")
Else
Response.Write "<center><font color=red><b>O campo Referência está vazio.</b></font></div><BR>"
End if

Quando opcional:

If UploadRequest.Item("nome").Item("Value") <> "" Then 
nome = UploadRequest.Item("nome").Item("Value")
Else
nome = "---"
End If

Mas tb tem esse topico sobre upload sem componentes que é excelente...

 

Upload sem componentes

 

Espero ter contribuido de alguma forma a você.

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.