Ir para conteúdo

POWERED BY:

Arquivado

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

RGXRJ

Erro quando não faço upload de imagens

Recommended Posts

Fala galera, beleza?

 

Tô precisando da ajuda de vocês nessa página de upload e gravação no bd usando o SafileUp. O código funciona perfeitamente se eu fizer o cadastro da notícia e inserir os arquivos pra upload, mas o problema é que nem toda matéria vai ter imagem. Gostaria de independente de possuir ou não imagem pra enviar, eu conseguir efetuar a gravação no banco de dados. Abaixo segue o código pra esclarecer melhor:

 

 

<%@ Language=VBScript %>
<% Option Explicit %>

<%
'--- Declarations
Dim oFileUp
Dim oConn
Dim Recordset1
Dim oPathdb

'--- Instantiate the FileUp object
Set oFileUp = Server.CreateObject("SoftArtisans.FileUp")

'--- Set the Path property to the location you wish to
'--- temporarily cache the incoming file before saving
'--- Note: This property must be set immediately after
'--- instantiating the FileUp object

oFileUp.Path = Server.MapPath(Application("vroot") & "../../fotos/")

'--- Check to be sure there was a file selected in the form
'--- If so, continue processing
If IsObject(oFileUp.Form("Imagem")) Then
If Not oFileUp.Form("Imagem").IsEmpty Then

If IsObject(oFileUp.Form("Miniaturas")) Then
If Not oFileUp.Form("Miniaturas").IsEmpty Then

'--- Create ADODB Connection and Recordset

set oConn = Server.CreateObject("ADODB.Connection")
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
oPathdb = "c:\inetpub\wwwroot\clipping\noticias.mdb"

'--- Open the connection
On Error Resume Next
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& oPathdb
If Err.Number <> 0 Then
Response.Write "<B>Ocorreu um erro ao abrir o banco de dados " & _
"connection</b>
" & Err.Description & _
" (" & Err.Source & ")"
Response.End
End If
On Error Goto 0

'--- Save the file
On Error Resume Next
oFileUp.Form("Imagem").Save
If Err.Number <> 0 Then
Response.Write "<B>Ocorreu um erro ao salvar o primeiro arquivo</B><BR>" & _
Err.Description & " (" & Err.Source & ")"
Response.End
End If
On Error Goto 0

'--- Save the second file
On Error Resume Next
oFileUp.Form("Miniaturas").Save
If Err.Number <> 0 Then
Response.Write "<B>Ocorreu um erro ao salvar o segundo arquivo</B><BR>" & _
Err.Description & " (" & Err.Source & ")"
Response.End
End If
On Error Goto 0


'--- Open the recordset and add a new record
On Error Resume Next
Recordset1.Open "tbl_noticias", oConn, 2, 3
If Err.Number <> 0 Then
Response.Write "<B>Ocorreu um erro ao abrir o RecordSet</b>
" & _
Err.Description & " (" & Err.Source & ")"
Response.End
End If
On Error Goto 0

Recordset1.AddNew

'--- Insert the text values into the recordset
Recordset1.Fields("Imagem").Value = oFileUp.Form("Imagem").ShortFilename
Recordset1.Fields("Miniaturas").Value = oFileUp.Form("Miniaturas").ShortFilename
Recordset1.Fields("Titulo").Value = oFileUp.Form("Titulo")
Recordset1.Fields("Noticia").Value = oFileUp.Form("Noticia")
Recordset1.Fields("Fonte").Value = oFileUp.Form("Fonte")
Recordset1.Fields("Data").Value = oFileUp.Form("Data")
Recordset1.Fields("Hora").Value = oFileUp.Form("Hora")

'--- Update the recordset
On Error Resume Next
Recordset1.Update
If Err.Number <> 0 Then
Response.Write "<B>Ocorreu um erro ao atualizar o RecordSet</b>
" & _
Err.Description & " (" & Err.Source & ")"
Response.End
End If
On Error Goto 0


'--- Display information about the saved file
Response.Write "<H3>FileUp salvou os arquivos com sucesso</H3>"

Response.Write "<DL>"
Response.Write "<DT><b><li>O arquivo foi salvo no diretório:</b></DT><DD>" & _
oFileUp.Form("Imagem").ServerName
Response.Write "</DL>"

Response.Write "<H4><li>Todas as informações foram salvas no banco de dados</H4>"

Response.Write "<DL>"
'--- ShortFileName is just the Userfilename without the path
Response.Write "<DT><B>Destino do arquivo</B></DT><DD>" & oFileUp.Form("Imagem").ShortFilename & "</DD>"
'--- TotalBytes is the byte size of the file
Response.Write "<DT><B>Tamanho do arquivo</B></DT><DD>" & oFileUp.Form("Imagem").TotalBytes & "</DD>"
'--- ContentType is the mime type of the file. Eg, "application/msword"
Response.Write "<DT><B>Título da matéria</B></DT><DD>" & oFileUp.Form("Titulo") & "</DD>"
Response.Write "</DL>"

'--- Close our ADO objects
Recordset1.Close
oConn.Close

Else
Response.Write "Erro: Não foi apresentado nenhum arquivo para upload."
End If
Else
Response.Write "O campo referenciado não existe ou não é do tipo=""file"""
End If

End If
End If

'--- Destroy objects
Set oFileUp = Nothing
Set Recordset1 = Nothing
Set oConn = Nothing

%>

Onde está o erro que não me obrigue a fazer o upload e sendo assim continuando a gravação, como se não existisse os campos de imagem? Já fiz várias alterações e todas sem sucesso. No site do componente, não tem exemplos pra esse tipo de problema.

 

Agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca no inicio um if checando se o campo do formulario que deveria vir com os dados de imagem está vazio ou não.

Se não estiver vazio, segue no codigo com o upload, se estiver vazio fará somente a inserção no bd.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca no inicio um if checando se o campo do formulario que deveria vir com os dados de imagem está vazio ou não.

Se não estiver vazio, segue no codigo com o upload, se estiver vazio fará somente a inserção no bd.

 

Seria assim, né?

 

If oFileUp.Form("Imagem").IsEmpty then

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser, mas note que ele já faz essa checagem no inicio do script.

Talvez seja interessante fazer isso antes do script começar:

if not request.form("foto") = "" then

 

acho que é por ai

 

Vinicius, tentei aqui e não deu certo. Será que teria como você alterar nesse código que postei pra eu poder verificar se o que fiz aqui está correto ou não?

 

Abraços.

 

Ninguém pra me ajudar nesse problema?

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.