Ir para conteúdo

POWERED BY:

Arquivado

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

Montanha

Erro no Upload

Recommended Posts

Boa noite galera! Seguinte, mudei o site de um amigo para a locaweb e estamos tendo um probleminha.

 

Quando ele vai tentar cadastrar algum produto ocorre o seguinte erro:

 

Server object error 'ASP 0177 : 800401f3'

 

Server.CreateObject Failed

 

/futbot/admin/cad_produto.asp, line 13

 

800401f3

Eu acredito que seja problema no componente de upload da locaweb, mas não tenho certeza, pois não sei programar, mas o problema sempre ocorre quando envolve o upload de alguma imagem. Segue abaixo o código da página de cadastro. Vou colocar na íntegra.

 

<!-- #include file="../online/inc/conn.asp"-->
<%
IF Session("log") <> "ok" Then
	response.Redirect("index.asp")
End IF
response.Buffer = False
Server.ScriptTimeout = 3600
Inicio = Timer()
admin
Session.LCID = 1046

IF Request.QueryString("opc") = "cad" then
	Set Upload = Server.CreateObject("Persits.Upload")
	caminho = Server.MapPath("../online/imgs/img_prod") & "\"
	cont = Upload.SaveVirtual("../online/imgs/img_prod")
		vcat = replace(upload.Form("categoria"),"'","")
		vnome = replace(upload.Form("nome"),"'","")
		vdesc = replace(upload.Form("descricao"),"'","")
		vpreco = replace(replace(upload.Form("preco"),"'",""),".",",")
		IF vpreco = "" Then
			vpreco = 0
		End IF
		vfoto1	= "foto_" & second(time) & minute(time) & hour(time) & day(date) & ".jpg"		
		vdestaque = upload.Form("destaque")
		vpromo = upload.Form("promo")

Select Case Cont
Case 0
	Conn.execute "INSERT INTO tbl_produtos (int_IDCat,str_Nome,str_Descricao,cur_Preco,bool_Destaque,bool_Super_Promo) values (" & vcat & ",'" & vnome & "','" & vdesc & "','" & vpreco & "'," & vdestaque & "," & vpromo & ")"
Case 1
	Set objs = Upload.Files("file")
		objs.Move caminho & vfoto1
	call thumb(vfoto1,1)
	call thumb(vfoto1,2)
	Conn.execute "INSERT INTO tbl_produtos (int_IDCat,str_Nome,str_Descricao,cur_Preco,bool_Destaque,bool_Super_Promo,st
r_Foto) values (" & vcat & ",'" & vnome & "','" & vdesc & "','" & vpreco & "'," & vdestaque & "," & vpromo & ",'" & vfoto1 & "')"
End Select

sub thumb(foto,tipo)
	Set comp = Server.CreateObject("Persits.Jpeg")
	comp.Open Server.MapPath("../online/imgs/img_prod/" & foto)
	if tipo = 1 then
		L = 169
		A = 175
		comp.Width = L
		comp.Height = A
		comp.Quality = 100
		comp.Save Server.MapPath("../online/imgs/img_prod/tb/" & foto)
	end if
	if tipo = 2 then
		L = 267
		A = 277
		comp.Width = L
		comp.Height = A
		comp.Quality = 100
		comp.Save Server.MapPath("../online/imgs/img_prod/" & foto)
	end if
end sub

	Set rs_prod = conn.execute("Select top 1 * from tbl_produtos order by int_ID desc")
	id_prod = rs_prod("int_ID")
	Set rs_cor = conn.execute("Select * from tbl_cores")
	
c = 0
do until rs_cor.eof
c = c + 1
IF replace(upload.Form("cad_"&c),"'","") = "ok" Then
	vqtd = replace(upload.Form("qtd_"&c),"'","")
	IF vqtd = "" Then
		vqtd = 1
	End IF
	vcor = replace(upload.Form("cor_"&c),"'","")
	vccor = replace(upload.Form("ccor_"&c),"'","")
	
	Conn.execute "INSERT INTO tbl_qtdcor (int_IDProd,int_QTD,str_Cor,str_CCor) values (" & id_prod & "," & vqtd & ",'" & vcor & "','" & vccor & "')"
End IF
rs_cor.movenext
Loop
	
		Response.Write("<script>alert('Produto Cadastrado!');</script>")
End IF
Set rs_cor = conn.execute("Select * from tbl_cores")
Set rs_cor2 = conn.execute("Select * from tbl_cores")
Set rs_cat = conn.execute("Select * from tbl_categorias order by str_Categoria")
%>
<html>
<head>
<script language=javascript>
<!--


function funConfirm(sMensagem)
		{
			bMensagem = window.showModalDialog('confirm.htm', escape(sMensagem), 'status:no;dialogWidth:350px;dialogHeight:175px;help:no')
			return bMensagem
		}	
	
		window.confirm = funConfirm
		
function cverif(){
if (document.Form1.cat.value == ""){
	alert("Por favor \nSelecione a Categoria!");
	document.Form1.cat.focus();
	return false;
}
if (document.Form1.nome.value == ""){
	alert("Por favor \nDigite o Produto!");
	document.Form1.nome.focus();
	return false;
}}
function calc(){
	cat = document.Form1.cat.value;
	Partes=cat.split(",");
	
	document.Form1.categoria.value = Partes[0];
<%c = 0
do until rs_cor2.eof
c = c + 1
%>if (document.Form1.cat.value == ""){
	document.Form1.qtd_<%=c%>.value = "";
}
else{
	document.Form1.qtd_<%=c%>.value = Partes[1];
	}
<%rs_cor2.movenext
Loop%>	
}
//-->
</script>
<title>:: Administração ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../online/inc/wmb_01122003.css" rel="stylesheet" type="text/css">

<style type="text/css">
<!--
body {
	background-color: #E5E5E5;
}
.style1 {color: #10659E}
-->
</style></head>

<body text="#000000" leftmargin="0" topmargin="0">
<table width="70%" border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td bgcolor="#4791C5"><div align="center" class="FF"><font size="2" color="#FFFFFF" face="Arial">Cadastrar</font></div></td>
  </tr>
  <tr>
	<td><table width="100%" border="0" bgcolor="#FFFFFF" class="EE">
		<form action="?opc=cad" method="post" name="Form1" onSubmit="return cverif();" enctype="multipart/form-data">
		  <tr>
			<td width="15%" height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Categoria</span></td>
			<td width="85%"><input name="categoria" type="hidden" id="categoria">
			<select name="cat" class="campoForm" id="cat" onChange="calc();">
			  <option value="">Selecione</option>
<%do until rs_cat.eof%>
			  <option value="<%=rs_cat("int_ID")%>,<%=rs_cat("int_QTD")%>"><%=rs_cat("str_Categoria")%></option>
<%rs_cat.movenext
Loop%>
			</select>			</td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Produto</span></td>
			<td><input name="nome" type="text" class="campoForm" id="nome" size="80" maxlength="100"></td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Descrição</span></td>
			<td><textarea name="descricao" cols="80" rows="5" class="campoForm" id="descricao"></textarea></td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Preço</span></td>
			<td><input name="preco" type="text" class="campoForm" id="preco" onKeyPress="if (event.keyCode < 44 || event.keyCode > 57) {event.keyCode = ''}" size="20" maxlength="8"></td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Foto</span></td>
			<td><input name="file" type="file" class="campoForm" id="file" size="80" onKeyPress="return false;"></td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Destaque</span></td>
			<td><input name="destaque" type="radio" value="true">
			  SIM 
			  <input name="destaque" type="radio" value="false" checked>
			  NÃO</td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"><span class="style1">Promoção</span></td>
			<td><input name="promo" type="radio" value="true">
			  SIM
			  <input name="promo" type="radio" value="false" checked>
			  NÃO</td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"> </td>
			<td> </td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5" class="style1">Cores</td>
			<td><table border="0" cellspacing="0" cellpadding="0">
<%c = 0
do until rs_cor.eof
c = c + 1
%>
			  <tr>
				<td width="22" bgcolor="<%=rs_cor("str_CCor")%>" class="EE"><input name="cad_<%=c%>" type="checkbox" id="cad_<%=c%>" value="ok" onClick="if (document.all.cad_<%=c%>.checked){document.all.qtd_<%=c%>.style.visibility='visible';}else{document.all.qtd_<%=c%>.style.visibility='hidden';}"></td>
				<td width="100" class="EE"><input type="hidden" name="cor_<%=c%>" value="<%=rs_cor("str_Cor")%>"><input type="hidden" name="ccor_<%=c%>" value="<%=rs_cor("str_CCor")%>"><%=rs_cor("str_Cor")%></td>
				<td>- Quantidade mínima </td>
				<td><input name="qtd_<%=c%>" type="text" class="campoForm" id="qtd_<%=c%>" style="visibility:hidden;" onKeyPress="if (event.keyCode < 48 || event.keyCode > 57) {event.keyCode = ''}" size="5" ></td>
			  </tr>
<%rs_cor.movenext
Loop%>
			</table></td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5" class="style1"> </td>
			<td> </td>
		  </tr>
		  <tr>
			<td height="5" valign="top" bgcolor="#DBEAF5"> </td>
			<td><input type="submit" name="Submit" value="Cadastrar"></td>
		  </tr>
		</form>
	</table></td>
  </tr>
</table>
</body>
</html>
<%
' ### ERROS
conn.Close
Set conn = nothing
Set rs = nothing
response.write "<BR>Processado em " & FormatNumber( Timer - inicio, 2 ) & " segundos"
%>

Qualquer ajuda será bem vinda!

 

Grato desde já!

 

Aí, falow!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara primeiramente tem um errinho no seu script na linha 9, lá tem a palavra "admin" retire ela pois ela não faz parte do code.

 

Em relação ao erro pode estar ocorrendo por 2 motivos.

 

O primeiro pode ser que o caminho especificado no script para aonde as imagens são gravadas estar errado, o caminho que foi especificado é este

 

../online/imgs/img_prod

verifique se você criou realmente esta pasta e se o caminho esta correto.

 

A segunda hipotese é que não se tem permissão no servidor para o script gravar as imagens na pasta, para isso você pode mandar as permissões no painel de controle do domínio ou entrar em contato com o suporte e pedir para que eles deem esta permissão, sem isso a imagem não é gravada.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em primeiro lugar, muito obrigado pela rapidez na resposta. Agora vamos ao que interessa.

 

Como eu disse no início do e-mail, este site funcionava perfeitamente antes da mudança de host. Segunda, realmnete no início eu estava com problemas de escrita nos diretório, mas isto eu já resolvi.

 

Acredito que o caminho para a pasta esteja correto, pois como já disse, ele funcionava no outro host.

 

Não seria problema no componente de upload disponibilizado pela Locaweb? ASP tem dessas coisas, não?

 

Abraços!

 

Aí, falow!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andei pesquisando com o suporte da locaweb e eles me disseram que usam o Safileup como componete de upload padrão. Mudei no código, mas não sei se fiz certo, pois a minha noção de programação é muito pobre, e aconteceu o seguinte erro.

 

Microsoft VBScript runtime error '800a01b6'

 

Object doesn't support this property or method: 'Upload.SaveVirtual'

 

/futbot/admin/cad_produto.asp, line 15

Aqui segue o trecho do código que eu alterei:

 

IF Request.QueryString("opc") = "cad" then
	Set Upload = Server.CreateObject("SoftArtisans.FileUp")
	caminho = Server.MapPath("../online/imgs/img_prod") & "\"
	cont = Upload.SaveVirtual("../online/imgs/img_prod")

Onde estou errando?

 

Abraços!

 

Aí, falow!

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se você tem o objeto instalado.Este erro é geralmente associada a tentar criar uma instância de um objeto COM usando um ProgID que não é efectivamente registado na máquina.

 

use regsvr32

Compartilhar este post


Link para o post
Compartilhar em outros sites

o componente existe no servidor?

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.