Ir para conteúdo

Arquivado

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

FranJun

Não estou achando o erro?

Recommended Posts

OI pessoal estou tentando fazer o Upload de uma foto e ao mesmo tempo fazer o cadastro no banco de dados... Aparentimento o código pra mim está correto...

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using System.IO.IOException;

namespace TemperoMania.admin
{
    public partial class cadastra_temperos : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btCadTemp_Click(object sender, EventArgs e)
        {
            //String de Conexão.
            string strConexao = ConfigurationManager.ConnectionStrings["TemperoMania"].ConnectionString;
            SqlConnection objConexao = new SqlConnection(strConexao);
            //definição do comando sql
            string comandoSQLInsert = "INSERT INTO produtos(idSubCategoria, nome_produto, desc_produto, valor_produto, img_produto) VALUES (@idSubCategoria, @nome_produto, @desc_produto, @valor_produto, @img_produto)";
            //CADASTRANDO OS PRODUTOS
            try
            {
                //FAZENDO UPLOAD DA IMAGEM
                if (img_produto.HasFile)
                {
                    try
                    {
                        if (img_produto.PostedFile.ContentType == "image/jpeg")
                        {
                            if (img_produto.PostedFile.ContentLength < 102400)
                            {
                                //string filename = Path.GetFileName(img_produto.FileName);
                                string filename = Path.GetFileName(img_produto.FileName);
                                img_produto.SaveAs(Server.MapPath("~/img/temperos/") + filename);
                                //imgProduto.PostedFile.SaveAs(Server.MapPath(@"C:\Users\francisco.junior\Desktop\WebTemperoMania\WebTemperoMania\img\temperos\") + filename);
                                mensagemImg.Text = "Arquivo enviado!";
                            }
                            else
                                mensagemImg.Text = "O arquivo tem que ser menos de 100 kb!";
                        }
                        else
                            mensagemImg.Text = "Apenas os ficheiros JPEG são aceitos!";
                    }
                    catch (Exception ex)
                    {
                        mensagemImg.Text = "O arquivo não pôde ser carregado. O seguinte erro ocorreu: " + ex.Message;
                    }
                }

                //Objeto SQLConnection e Objeto SQLCommand
                SqlCommand objComando = new SqlCommand(comandoSQLInsert, objConexao);
                //Adicionando o valor das textBox nos parametros do comando
                objComando.Parameters.Add(new SqlParameter("@idSubCategoria", this.idCategoria.SelectedItem.ToString()));
                objComando.Parameters.Add(new SqlParameter("@nome_produto", this.nome_produto.Text));
                objComando.Parameters.Add(new SqlParameter("@desc_produto", this.desc_produto.Text));
                objComando.Parameters.Add(new SqlParameter("@valor_produto", this.valor_produto.Text));
                objComando.Parameters.Add(new SqlParameter("@imgProduto", this.img_produto.FileName.ToString()));
                //abre a conexao
                objConexao.Open();
                //executa o comando com os parametros que foram adicionados acima
                objComando.ExecuteNonQuery();
                //fecha a conexao
                objConexao.Close();
                //Minha função para limpar os textBox
                LimpaCamos();
                //Abaixo temos a ultlização de javascript para apresentar ao usuário um alert
                // referente ao msgbox
                Console.Write("<script>alert(Operação concluida !)</script>");
            }
            catch
            {
                Console.Write("<script>alert(Operação não concluida !)</script>");
            }
            finally
            {
                objConexao.Close();
            }
        }

        private void LimpaCamos()
        {
            this.idCategoria.SelectedValue = "";
            this.nome_produto.Text = "";
            this.desc_produto.Text = "";
            this.valor_produto.Text = "";
            this.img_produto.FileName.ToString();
        }
    }
}

E o erro era não estava encontrando o caminha da pasta para mandar o arquivo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra fazer o upload você precisa de um UploadFile, e não o Content.Length, você vai usar a sequencia UploadFile1.FileBytes em um array de Bytes (Byte[]) para fazer o upload do arquivo para o banco. Certifique-se de que seu campo no bd tem o tipo Image como dados.

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.