Member 11652153 Ответов: 1

Я хочу загрузить изображение в базу данных в MVC без использования entityframework


я пытаюсь таким образом, но у меня есть ошибка, пожалуйста, помогите мне друзья....


public ActionResult Upload()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Upload(Image obj, HttpPostedFileBase aFile)
        {

            MySqlCommand cmd11 = new MySqlCommand("Select Count(*) from student", Con);
            Con.Open();
            int i = Convert.ToInt32(cmd11.ExecuteScalar()) + 1;
            GenId = i + DateTime.Now.ToString("ss");


            //HttpPostedFileBase aFile = Request.Files["Filedata"];
            //int contentLength = aFile.ContentLength;
            //byte[] bytePic = new byte[contentLength];
            //aFile.InputStream.Read(bytePic, 0, contentLength);

            string filePath = Path.GetFileName(aFile.FileName);
            string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(aFile.FileName));
            aFile.SaveAs(Server.MapPath("~/Content/Images/" + filePath));

            MySqlCommand cmd = new MySqlCommand("Insert into student values(@Id,@Name,@EmailId,@MobileNo,@City,@Image", Con);
            cmd.Parameters.AddWithValue("@Id", GenId);
            cmd.Parameters.AddWithValue("@Name", obj.Name);
            cmd.Parameters.AddWithValue("@EmailId", obj.EmailId);
            cmd.Parameters.AddWithValue("@City", obj.City);
            cmd.Parameters.AddWithValue("@MobileNo", obj.MobileNo);
            cmd.Parameters.AddWithValue("@Image", savedFileName);
            cmd.ExecuteNonQuery();
            return View();
        }


Что я уже пробовал:

public ActionResult Upload()
{
возвращение смотреть();
}
[HttpPost]
загрузить общественная ActionResult(изображения объект, HttpPostedFileBase файл)
{

MySqlCommand cmd11 = new MySqlCommand ("Select Count (*) from student", Con);
Кон. Открыт();
int i = преобразовать.ToInt32(cmd11. ExecuteScalar ()) + 1;
GenId = i + DateTime. Now. ToString("ss");


//HttpPostedFileBase aFile = запрос.Файлы ["Filedata"];
//int contentLength = aFile.ContentLength;
//byte[] bytePic = новый байт[contentLength];
//файл.InputStream. Read(bytePic, 0, contentLength);

строку путь = путь.GetFileName(файл.имя файла);
строка savedFileName = Path.Комбинат(Домен Приложения.CurrentDomain.BaseDirectory, Путь.GetFileName(файл.имя файла));
файл.SaveAs (Сервер.MapPath ("~/Content/Images/ " + filePath));

MySqlCommand команду cmd = новый MySqlCommand("вставить в студенческих ценностей(@ИД@имя,@EmailId,@MobileNo,@город@изображения", Кон);
УМК.Параметры.AddWithValue ("@Id", GenId);
УМК.Параметры.AddWithValue ("@Name", obj.Name);
УМК.Параметры.AddWithValue ("@EmailId", obj. EmailId);
УМК.Параметры.AddWithValue ("@City", obj.Город);
УМК.Параметры.AddWithValue ("@MobileNo", obj.MobileNo);
УМК.Параметры.AddWithValue ("@Image", savedFileName);
УМК.Метод executenonquery();
возвращение смотреть();
}

F-ES Sitecore

Какая ошибка и какая строка?

Member 11652153

строку путь = путь.GetFileName(файл.имя файла);

файл значение равно null

F-ES Sitecore

Вероятно, есть проблема с вашим представлением, но вы еще не опубликовали этот код. См. ссылки, размещенные в решении 1, это часто задаваемый вопрос, и примеры хорошо документированы.

Member 11652153

@использование (в формате HTML.Бигинформ("Загрузки","Изображения",FormMethod.Post, new { enctype = " multipart/form-data" }))
{
&ЛТ;метка для="файл"и GT;загрузить изображение:&ЛТ;/ярлык&ГТ;
&ЛТ;входной тип="файл" название="файл" идентификатор="продуктам" /&ГТ;&ЛТ;БР&ГТ;&ЛТ;БР&ГТ;


< br>< br>
@ViewBag.Сообщение
}

F-ES Sitecore

Ваш ввод называется "файл", но параметр действия - "aFile". Эти две вещи должны совпадать так что измените свое действие

загрузить общественная ActionResult(изображения объект, HttpPostedFileBase файл)

это базовый MVC 101, я бы посоветовал вам прочитать книгу или учебники по MVC, чтобы изучить основы, прежде чем пытаться сделать что-то сложное, как это.