Ir para conteúdo

POWERED BY:

Arquivado

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

marcelinho

Upload

Recommended Posts

Fala ai Galera beleza?

 

É o seguinte estou com uma dúvida que esta tirando o sono e o problema da locaweb é esse componente de upload!

 

Eu preciso fazer upload de ate 10 imagens!!

 

quando tento fazer upload de 2 imagens ao mesmo tempo, ele nao faz o upload de uma das imagens!

 

e ainda salva com o nome errado a imagem que ele salva!!

 

fiz de varios jeitos o ultimo que ficou foi esse

 

ó meu codigo:

 

Set Obj_Upload = Server.CreateObject("SoftArtisans.FileUp") 'Caminho onde vai salvar as fotos	 	Obj_Upload.Path = "caminho da imagem"		'Cria o Obj_File para a foto 1		Str_Teste = Obj_Upload.form("foto1")		IF LEN(Str_Teste) > 0 THEN			Str_Filename = Obj_Upload.form("foto1").ShortFileName		 	Str_Foto_1 = geraNomeArq(Str_Filename)			IF LEN(Str_Filename) > 0 THEN		 		Obj_Upload.SaveAs Str_Filename				'Int_Largura = Obj_Upload.Width				'Int_Altura = Obj_Upload.Height				IF LEN(Str_Foto_1) > 0 THEN					Str_SQL_Cmd = "INSERT INTO tbCadastro_Album(idcadastro,foto_original" &_					", foto_modificada, largura, altura) VALUES " &_					"(" & Session("Rev_ID") & ",'" & Str_Filename &_					"','" & Str_Foto_1 & "'," & Int_Largura & ", " & Int_Altura &_					")"					Session("Conn").Execute(Str_SQL_Cmd)				END IF			ELSE				Str_Foto_1 = ""			END IF		END IF			'Cria o Obj_File para a foto 2		Str_Teste_2 = Obj_Upload.form("foto2")		IF LEN(Str_Teste_2) > 0 THEN			Str_Filename_2 = Obj_Upload.form("foto2").ShortFileName		 	Str_Foto_2 = geraNomeArq(Str_Filename_2)			IF LEN(Str_Filename_2) > 0 THEN		 		Obj_Upload.form("foto2").Save Str_Filename_2				IF LEN(Str_Foto_2) > 0 THEN					Str_SQL_Cmd = "INSERT INTO tbCadastro_Album(idcadastro,foto_original" &_					", foto_modificada, largura, altura) VALUES " &_					"(" & Session("Rev_ID") & ",'" & Str_Filename_2 &_					"','" & Str_Foto_2 & "'," & Int_Largura_2 & ", " & Int_Altura_2 &_					")"					Session("Conn").Execute(Str_SQL_Cmd)				END IF			ELSE				Str_Foto_2 = ""			END IF		END IF

Obrigado desde ja galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria mais facil criar um For each nos arquivos do formulário? por que assim você não precisa criar o mesmo método duas vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como faria isso?pois nao sao 10 campos fixos!depende da conexao....eu criei um teste de conexao que dependendo você pode ter 3 campos de upload, 4 ou ate 10

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca a html do formulário ae pra gente.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<form action="acao.asp" method="post" enctype="multipart/form-data" name="formFotos" id="formFotos"><%FOR Int_J = 0 TO Int_I - 1%><p>Foto <%=Int_J + 1%> <input type="file" name="foto<%=Int_J + 1%>" id="foto<%=Int_J + 1%>" size="32" accept="image/jpeg,image/gif" /></p><%NEXT%><br />	<input type="submit" name="cadastrar" id="cadastrar" value="Enviar Fotos" /></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom no formulário você pode criar a lista conforme a quantidade requerida com o mesmo nome e assim quando for chamar a função de upload você faz um for each nos que estiverem preenchidos.. sem problemas... esse componente tem manual?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você esta me dizendo ficaria assim o form:

 

<form action="acao.asp" method="post" enctype="multipart/form-data" name="formFotos" id="formFotos"><%FOR Int_J = 0 TO Int_I - 1%><p>Foto <%=Int_J + 1%> <input type="file" name="foto" id="foto" size="32" accept="image/jpeg,image/gif" /></p><%NEXT%><br />	<input type="submit" name="cadastrar" id="cadastrar" value="Enviar Fotos" /></form>

e o processa assim:

 

Set Obj_Upload = Server.CreateObject("SoftArtisans.FileUp")'Caminho onde vai salvar as fotos		 Obj_Upload.Path = "caminho da imagem"		'Cria o Obj_File para a foto 1For each Str_Teste in request("foto")		IF LEN(Str_Teste) > 0 THEN			Str_Filename = Obj_Upload.form("foto").ShortFileName			 Str_Foto = geraNomeArq(Str_Filename)			IF LEN(Str_Filename) > 0 THEN				 Obj_Upload.SaveAs Str_Filename				IF LEN(Str_Foto) > 0 THEN					Str_SQL_Cmd = "INSERT INTO tbCadastro_Album(idcadastro,foto_original" &_					", foto_modificada, largura, altura) VALUES " &_					"(" & Session("Rev_ID") & ",'" & Str_Filename &_					"','" & Str_Foto & "'," & Int_Largura & ", " & Int_Altura &_					")"					Session("Conn").Execute(Str_SQL_Cmd)				END IF			ELSE				Str_Foto = ""			END IF		END IF

é isso?

 

entao ate tem manual, mais esse componente é mto limitado, o link é esse

http://support.softartisans.com/docs/FileUpV4/

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria isso mesmo...só faltou um NEXT para realizar o laço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu esse erro:

Request object error 'ASP 0208 : 80004005'Cannot use generic Request collection/revelacao_cadastra_fotos2.asp, line 106Cannot use the generic Request collection after calling BinaryRead.

meu codigo esta assim:
'Cria o Objeto de Upload		Set Obj_Upload = Server.CreateObject("SoftArtisans.FileUp") 			'Leitura de um campo na variavel		Str_Pasta = Obj_Upload.form("str_pasta")			'Caminho onde vai salvar as fotos		 Obj_Upload.Path = Application("bknd_pathimg") & "\revelacao\" & Str_Pasta & "\"		'Cria o Obj_File para a foto 1	FOR EACH Str_Teste in request("foto")		IF LEN(Str_Teste) > 0 THEN			Str_Filename = Obj_Upload.form("foto").ShortFileName			 Str_Foto = geraNomeArq(Str_Filename)			IF LEN(Str_Filename) > 0 THEN				 Obj_Upload.SaveAs Str_Filename				IF LEN(Str_Foto) > 0 THEN					Str_SQL_Cmd = "INSERT INTO tbCadastro_Album(idcadastro,foto_original" &_					", foto_modificada, largura, altura) VALUES " &_					"(" & Session("Rev_ID") & ",'" & Str_Filename &_					"','" & Str_Foto & "'," & Int_Largura & ", " & Int_Altura &_					")"					Session("Conn").Execute(Str_SQL_Cmd)				END IF			ELSE				Str_Foto = ""			END IF		END IF	NEXT		Set Obj_Upload = Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim FOR EACH Str_Teste in Obj_Upload

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu esse erro

Microsoft VBScript runtime error '800a01b6'Object doesn't support this property or method/revelacao_cadastra_fotos2.asp, line 109

eu ja tenteiFOR EACH Str_Teste in Obj_UploadesseFOR EACH Str_Teste in Obj_Upload.form("foto")esseFOR EACH Str_Teste in Obj_Upload("foto")

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu esse erro agora:

Microsoft VBScript runtime  error '800a01a8'Object required: 'form(...)'/revelacao_cadastra_fotos2.asp, line 113

Ele ate passou do for each mais deu esse erro

olha meu codigo

 

'Cria o Objeto de Upload		Set Obj_Upload = Server.CreateObject("SoftArtisans.FileUp") 			'Leitura de um campo na variavel		Str_Pasta = Obj_Upload.form("str_pasta")			'Caminho onde vai salvar as fotos		 Obj_Upload.Path = Application("bknd_pathimg") & "\revelacao\" & Str_Pasta & "\"		'Cria o Obj_File para a foto 1			FOR EACH Str_Teste IN Obj_Upload.form			IF not Obj_Upload.IsEmpty THEN				IF LEN(Str_Teste) > 0 THEN					Str_Filename = Obj_Upload.form(Str_Teste).ShortFileName					 Str_Foto = geraNomeArq(Str_Filename)					IF LEN(Str_Filename) > 0 THEN						 Obj_Upload.SaveAs Str_Filename						IF LEN(Str_Foto) > 0 THEN							Str_SQL_Cmd = "INSERT INTO tbCadastro_Album(idcadastro,foto_original" &_							", foto_modificada, largura, altura) VALUES " &_							"(" & Session("Rev_ID") & ",'" & Str_Filename &_							"','" & Str_Foto & "'," & Int_Largura & ", " & Int_Altura &_							")"							Session("Conn").Execute(Str_SQL_Cmd)						END IF					ELSE						Str_Foto = ""					END IF				END IF			END IF		NEXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

por qual motivo você está recuperando essa variavel? Obj_Upload.form("str_pasta")bom tenta assimFOR EACH Str_Teste IN Obj_Upload.form("foto")

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora o erro é esse:

Microsoft VBScript runtime error '800a01a8'Object required: 'form(...)'/revelacao_cadastra_fotos2.asp, line 115

meu codigo esta assim:
'Cria o Objeto de Upload		Set Obj_Upload = Server.CreateObject("SoftArtisans.FileUp") 			'Leitura de um campo na variavel		Str_Pasta = Obj_Upload.form("str_pasta")			'Caminho onde vai salvar as fotos		 Obj_Upload.Path = Application("bknd_pathimg") & "\revelacao\" & Str_Pasta & "\"		'Cria o Obj_File para a foto 1			FOR EACH Str_Teste IN Obj_Upload.form			IF not Obj_Upload.IsEmpty THEN				IF LEN(Str_Teste) > 0 THEN					'response.write Str_Teste					'response.end					Str_Filename = Obj_Upload.form("foto").ShortFileName					 Str_Foto = geraNomeArq(Str_Filename)					IF LEN(Str_Filename) > 0 THEN						 Obj_Upload.SaveAs Str_Filename						IF LEN(Str_Foto) > 0 THEN							Str_SQL_Cmd = "INSERT INTO tbCadastro_Album(idcadastro,foto_original" &_							", foto_modificada, largura, altura) VALUES " &_							"(" & Session("Rev_ID") & ",'" & Str_Filename &_							"','" & Str_Foto & "'," & Int_Largura & ", " & Int_Altura &_							")"							Session("Conn").Execute(Str_SQL_Cmd)						END IF					ELSE						Str_Foto = ""					END IF				END IF			END IF		NEXT			Set Obj_Upload = Nothing

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.