erro inserir dados com upload de imagem
pessoal boa tarde, estou com um problema tenho uma pagina que cadastra produtos e faz o upload de uma imagem do produto.
estou tentando cadastrar mas me retorna esse erro
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument
/eletronicosstore/admin/cad_produto.asp, line 60
minha pagina que envia o form
<div id="cadastroProduto">
<form action="cad_produto.asp" method="post" enctype="multipart/form-data" name="formCadastroProdutos" id="formCadastroProdutos">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td colspan="3" bgcolor="#6f8992" class="titulos"> Cadastrar Produto</td>
</tr>
<tr>
<td width="22%" bgcolor="#FFFFFF"><span class="textosform">Nome</span> <span class="asterisco">*</span></td>
<td width="78%" colspan="2" align="left" bgcolor="#FFFFFF"><input name="NomeProduto" type="text" id="NomeProduto" size="50" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Categoria</span> <span class="asterisco">*</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><select name="txt_categoria" id="txt_categoria">
<%
sqlCategorias = "select * from categorias ORDER BY idcategoria ASC"
Set rsCategorias = conn.execute(sqlCategorias)
if rsCategorias.eof then
response.Write("-------------")
else
while not rsCategorias.eof
%>
<option value="<%= rsCategorias("idcategoria")%>"><%= rsCategorias("categoria") %></option>
<%
rsCategorias.MoveNext
wend
end if
%>
</select></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Fabricante</span> <span class="asterisco">*</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="FabricanteProduto" type="text" id="FabricanteProduto" size="50" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Descrição</span> <span class="asterisco">*</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label for="DescProduto"></label>
<textarea name="DescProduto" id="DescProduto" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Dados Técnicos</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><textarea name="DadosTecProduto" id="DadosTecProduto" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Preço</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="PrecoProduto" type="text" id="PrecoProduto" value="R$" size="20" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="textosform">Promoção</td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="PromocaoProduto" type="text" id="PromocaoProduto" value="R$" size="20" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="textosform">Imagem do produto</td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label for="ImagemProduto"></label>
<input type="file" name="ImagemProduto" id="ImagemProduto" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Estoque</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="EstoqueProduto" type="text" id="EstoqueProduto" size="5" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Peso</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="PesoProduto" type="text" id="PesoProduto" size="5" />
<span class="textosform">KG</span></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Altura <span class="asterisco">*</span></span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="AlturaProduto" type="text" id="AlturaProduto" size="10" />
<span class="textosform">Centimentros</span></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Largura</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="LarguraProduto" type="text" id="LarguraProduto" size="10" />
<span class="textosform">Centimentros</span></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Comprimento</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="ComprimentoProduto" type="text" id="ComprimentoProduto" size="10" />
<span class="textosform">Centimentros</span></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Tempo estimado de entrega</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><input name="TempoEntregaProduto" type="text" id="TempoEntregaProduto" size="10" />
<span class="textosform">Dias</span></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Exibir Produto</span><span class="asterisco"> *</span></td>
<td colspan="2" align="left" bgcolor="#FFFFFF"><label for="select"></label>
<p>
<label> <span class="textosform">
<input type="radio" name="ExibirProduto" value="S" id="ExibirProduto_0" />
Sim</span></label>
<span class="textosform">
<label>
<input type="radio" name="ExibirProduto" value="N" id="ExibirProduto_1" />
Não</label>
</span><br />
<br />
</p></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><span class="textosform">Alerta estoque baixo<span class="asterisco"> *</span></span></td>
<td align="left" bgcolor="#FFFFFF" class="textosform"><input type="radio" name="AlertaEstoqueBaixo" value="S" id="AlertaEstoqueBaixo_0" />
Sim
<input type="radio" name="AlertaEstoqueBaixo" value="N" id="AlertaEstoqueBaixo_1" />
Não</td>
<td align="left" bgcolor="#FFFFFF" class="textosform"><input type="hidden" name="datacadastroProduto" id="datacadastroProduto" value="<% date %>" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><input type="image" name="imageField" id="imageField" src="imagens/btn_salvar_produto.png" /></td>
<td colspan="2" align="right" bgcolor="#FFFFFF"><a href="gerprodutos_exibe.asp"><img src="imagens/btn_excluir_produtos.png" alt="" width="134" height="21" border="0" /></a></td>
</tr>
</table>
</form>
</div>
e minha pagina que faz o cadastro com o upload sem componentes
<!-- #include file = "upload_funcoes.asp" -->
<%
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
' Recuperando os Dados Digitados ----------------------
nomeProduto = UploadRequest.Item("NomeProduto").Item("Value")
categoriaProduto = UploadRequest.Item("txt_categoria").Item("Value")
fabricanteProduto = UploadRequest.Item("FabricanteProduto").Item("Value")
descricaoProduto = UploadRequest.Item("DescProduto").Item("Value")
dadostecProduto = UploadRequest.Item("DadosTecProduto").Item("Value")
precoProduto = UploadRequest.Item("PrecoProduto").Item("Value")
promocaoProduto = UploadRequest.Item("PromocaoProduto").Item("Value")
estoqueProduto = UploadRequest.Item("EstoqueProduto").Item("Value")
pesoProduto = UploadRequest.Item("PesoProduto").Item("Value")
alturaProduto = UploadRequest.Item("AlturaProduto").Item("Value")
larguraProduto = UploadRequest.Item("LarguraProduto").Item("Value")
comprimentoProduto = UploadRequest.Item("ComprimentoProduto").Item("Value")
tempoentregaProduto = UploadRequest.Item("TempoEntregaProduto").Item("Value")
exibirProduto = UploadRequest.Item("ExibirProduto").Item("Value")
alertaestoqueProduto = UploadRequest.Item("AlertaEstoqueBaixo").Item("Value")
datacadastroProduto = UploadRequest.Item("datacadastroProduto").Item("Value")
' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("ImagemProduto").Item("ContentType")
' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("ImagemProduto").Item("FileName")
' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))
' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("ImagemProduto").Item("Value")
' pasta onde as imagens serao guardadas
pasta = Server.MapPath("/eletronicosstore/imagemprodutos/")
'response.Write(pasta)
nome_foto = "/"&nome_foto
' pasta + nome dos arquivos
cfoto = "/imagemprodutos" + nome_foto
'Response.Write(cfoto)
'cfoto = nome_foto
' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if
' Conecta-se ao Banco de Dados
%>
<!--#include file="config/config.asp"-->
<%
'Set conn = Server.CreateObject("ADODB.Connection")
'conn.Open "Driver={MySQL ODBC 3.51 Driver}; 'Server=75.125.138.106; Port = 3306; Database=ccdaribeiraopreto; Uid=onweb; Pwd=celular123;"
' cadastra os dados no banco de dados
sql = "Insert into album (idcategoria, nomeproduto, fabricante, descricao, dadostecnicos, preco, promocao, imagemurl, estoque, peso, altura, largura, comprimento, tempoentrega, ativo, alertadeestoquebaixo, dataentradaproduto) values ('"& categoriaProduto &"', '"& nomeProduto &"', '"& fabricanteProduto &"', '"& descricaoProduto &"', '"& dadostecProduto &"', '"& precoProduto &"', '"& promocaoProduto &"', '"& cfoto &"', '"& estoqueProduto &"', '"& pesoProduto &"', '"& alturaProduto &"', '"& larguraProduto &"', '"& comprimentoProduto &"', '"& tempoentregaProduto &"', '"& exibirProduto &"', '"& alertaestoqueProduto &"', '"& datacadastroProduto &"')"
conn.Execute(sql)
' Redireciona após 5 segundos
response.write "<script>alert('Produto adicionada com sucesso!');location.href='gerprodutos.asp';</script>"
response.write "<meta http-equiv='refresh' content='5; url=gerprodutos.asp'/>"%>
o include que tem no inicio dessa pagina e a função
<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next
PosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)
Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)
If PosFile <> 0 And (PosFile < PosBound) Then
PosBeg = PosFile + 10
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "FileName", FileName
Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
PosBeg = Pos + 14
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "ContentType", ContentType
PosBeg = PosEnd + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
PosBeg = Pos + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If
UploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End Sub
Function getByteString(StringStr)
For i = 1 To Len(StringStr)
Char = Mid(StringStr, i, 1)
getByteString = getByteString & ChrB(AscB(Char))
Next
End Function
Function getString(StringBin)
getString = ""
For intCount = 1 To LenB(StringBin)
getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function
' Fim upload sem Componentes -----------------------------------------
%>
se alguem puder me ajudar pq o erro acontece quando ele tenta fazer o upload mas nao sei como resolver-lo
Discussão (4)
Carregando comentários...