Ir para conteúdo

POWERED BY:

Arquivado

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

Didiron

[Resolvido] Problema com o ASPUpload

Recommended Posts

Bom dia pessoal;

 

Eu estou fazendo um sistema de Upload de imagens utilizando o ASPUpload, para cadastrar a imagem funciona uma beleza o código que a hospedagem ofereceu, mas para cadastrar o nome da imagem dentro do banco, eu não consegui. Então eu fui no site do ASPUpload e dei uma olhada em sua documentação, e lá existe um código que salva a imagem e a descricao no banco. Mas eu só gostaria de salvar o nome da imagem no banco. Mas para isso eu fiz umas alterações no script.

Mas estou tendo um problema no Insert, como segue o código abaixo:

 

<%

Set Upload = Server.CreateObject("Persits.Upload")

' Capture files
Upload.Save "d:\web\localuser\dioneicardozo\www\admin\imagens\"

' Obtain file object
Set File = Upload.Files("foto")

If Not File Is Nothing Then
  ' Build ODBC connection string
  Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("banco.mdb")

  ' Build SQL INSERT statement
  SQL = "INSERT INTO produtos(NomeProduto, Imagem, Descricao) VALUES ( '"SQL = SQL & Replace(Upload.Form("nomeproduto"), "'", "''") & "','"SQL = SQL & File.Filename & "', '"SQL = SQL & Replace(Upload.Form("descricao"), "'", "''") & "')"

  ' Save to database
  File.ToDatabase Connect, SQL
  Response.Write "File saved."
Else
  Response.Write "File not selected."
End If

%>

Ele da o seguinte erro:

 

Erro de compilação do Microsoft VBScript erro '800a0401'

 

Fim da instrução esperado

 

/admin/enviarproduto.asp, line 17

 

SQL = "INSERT INTO produtos(NomeProduto, Imagem, Descricao) VALUES ( '"SQL = SQL & Replace(Upload.Form("nomeproduto"), "'", "''") & "','"SQL = SQL & File.Filename & "', '"SQL = SQL & Replace(Upload.Form("descricao"), "'", "''") & "')"

-----------------------------------------------------------------------^

 

Alguém saberia me dizer o que pode estar acontecendo?

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De um response.write na SQL e poste aki o resultado..

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta desse jeito com o SQL por dentro do SQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei amigo, só há um problema: o erro está na variavel SQL, se eu der um response.write antes da SQL ele vai dar o mesmo erro, pois como a variavel SQL ainda vai estar vazia, ele vai pular diretamente para parte em que ela é executada e seu der um response.write, depois de executar a SQl, ele vai continuar dando o mesmo erro, pois ele não vai prosseguir o código porque deu erro na SQL, conforme o exemplo:

 

' Build SQL INSERT statement
  SQL = "INSERT INTO produtos(NomeProduto, Imagem, Descricao) VALUES ( '"SQL = SQL & Replace(Upload.Form("nomeproduto"), "'", "''") & "','"SQL = SQL & File.Filename & "', '"SQL = SQL & Replace(Upload.Form("descricao"), "'", "''") & "')"
  
response.Write SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas é exatamente este o erro porque está a SQL dentro dela mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

De o response.write e rode a página.. ai você vai copiar o resultado da instrução SQL que estará na tela e colará aki para analisarmos..

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu segui o código que o próprio site do ASPUpload oferece, eu também estranhei o SQL = SQL&.... Mass eu não decidi alterra para não dar problema..

 

Eu dei um response.write na SQL e continuou com o mesmo erro.

 

Então pessoal, eu tentei silplificar o código do INSERT, ele ficou assim:

 

' Build SQL INSERT statement
 SQL = "INSERT INTO produtos(NomeProduto, Imagem, Descricao) VALUES ('"& SQL = Replace(Upload.Form("nomeproduto"))&"','"& SQL = File.Filename &"', '"& SQL = Replace(Upload.Form("descricao")&"')"

Mas ele da esse erro:

 

Erro de compilação do Microsoft VBScript erro '800a03ee'

 

')' esperado

 

/admin/enviarproduto.asp, line 17

 

SQL = "INSERT INTO produtos(NomeProduto, Imagem, Descricao) VALUES ('"& SQL = Replace(Upload.Form("nomeproduto"))&"','"& SQL = File.Filename &"', '"& SQL = Replace(Upload.Form("descricao")&"')"

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma pergunta... você sabe para que serve o Response.Write ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

varnomeproduto=Upload.Form("nomeproduto")
varimagem= ' seu request do flie.name
vardescricao=Upload.Form("descricao")

SQL ="INSERT INTO login(NomeProduto, Imagem, Descricao) values('"&varnomeproduto&"','"&varimagem&"','"&vardescricao&"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xamburzum o seu código ajudou muito eu só estou tendo um problema no valor da variavel varimagem, pois eu não estou conseguindo resgatar o nome da imagem, olha como eu fiz o código:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%

Set Upload = Server.CreateObject("Persits.Upload")

' Capture files
Upload.Save "d:\web\localuser\dioneicardozo\www\admin\imagens\"

' Obtain file object
Set File = Upload.Files("foto")

If Not File Is Nothing Then
  ' Build ODBC connection string
  Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("banco.mdb")

Set fs=Server.CreateObject("Scripting.FileSystemObject")

        'essa linha recupera o nome do arquivo
        arquivo = Upload.GetFileName(Upload.files(0).path)

varnomeproduto=Upload.Form("nomeproduto")
varimagem=arquivo
vardescricao=Upload.Form("descricao")

SQL ="INSERT INTO produtos(NomeProduto, Imagem, Descricao) values('"&varnomeproduto&"','"&varimagem&"','"&vardescricao&"')"

  ' Save to database
  File.ToDatabase Connect, SQL
  Response.Write "File saved."
Else
  Response.Write "File not selected."
End If

%>

E ele retornou o seguinte erro:

 

 

Persits.Upload.1 erro '800a0009'

 

Index out of range.

 

/admin/enviarproduto.asp, line 19

 

A linha 19 é essa:

 

arquivo = Upload.GetFileName(Upload.files(0).path)

 

 

Então issso mostra que o meu problema só está para resgatar o nome da imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Siga o exemplo do amigo Ted'k:

 

<%  
If CStr(Request.QueryString("Enviar")) <> "" Then  
    Dim Upload, PegaNomeCampo, NomeCampo  
  
    Set Upload = Server.CreateObject("Persits.Upload") ' Criando o Objeto  
    Upload.Save Server.MapPath("fotos") ' Salvando na pasta  
    PegaNomeCampo = Upload.Files("Campo").FileName '  Pegando o conteúdo do campo todo  
  
    NomeCampo = Right(PegaNomeCampo, Len(PegaNomeCampo) - InstrRev(PegaNomeCampo,"\")) ' Pegar os últimos valores do campo  
    Response.Write("Upload com Sucesso! O Nome da Foto: "&NomeCampo) ' Exibindo na tela  
End If  
%>  

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, muito obrigado pelos script, depois de muito esforço, consegui fazer uma junção deles e agora deu certo.

Muito obrigado a todos.

Tópico resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK amigo...

 

resolvido

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.