Muhammd Aamir Ответов: 1

Имя изображения сохранить как system.web.httppostedfilewrapper в MVC


Всем Привет,

Я новичок в этом деле. Asp.net MVC я хочу сохранить имя изображения в базе данных и мое изображение в файловой системе все работает нормально но имя хранилища изображений в базе данных выглядит следующим образом "
System.Web.HttpPostedFileWrapper
"
пожалуйста, помогите мне выйти из этой проблемы заранее спасибо ...

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

Модель:

public class Products
{
    [Required]
    public int P_ID { get; set; }
    [Required]
    public string P_Name { get; set; }
    [Required]
    public string P_Image { get; set; }
    [Required]
    public int P_Price { get; set; }
    [Required]
    public int P_CatedoryID { get; set; }
}


Контроллер:
public ActionResult CreateProductsByAjaxCall(Products p)
   {
       if (Request.Files.Count > 0)
       {
           var file = Request.Files[0];
           if (file != null && file.ContentLength > 0)
           {
               var fileName = Path.GetFileName(file.FileName);
               var path = Path.Combine(Server.MapPath("~/misc/"), fileName);
               file.SaveAs(path);
               db.CreateProducts(p);

           }

       }
       return RedirectToAction("Index");
   }


Моя Функция Базы Данных:

public void CreateProducts(Products product)
    {
        string query = "Insert into Products (P_Name,P_Image,P_Price,P_CatagoryID) Values (@name,@image,@price,@category)";
        SqlConnection con = new SqlConnection(con_string);
        con.Open();
        SqlCommand cmd = new SqlCommand(query,con);
        cmd.Parameters.AddWithValue("@name",product.P_Name);
        cmd.Parameters.AddWithValue("@image", product.P_Image);
        cmd.Parameters.AddWithValue("@price",product.P_Price);
        cmd.Parameters.AddWithValue("@category", product.P_CatedoryID);
        cmd.ExecuteNonQuery();
        con.Close();
    }

Karthik_Mahalingam

какое значение вы получаете в fileName ?
ВАР имя = путь.GetFileName(файл.имя файла);

Muhammd Aamir

@Karthik я получаю "flowers.jpg" в var fileName, его правильно здесь

Karthik_Mahalingam

тогда ты спасешь то же самое

Muhammd Aamir

и когда я приду в БД.CreateProducts(p); значение в p, P_Image-System. Web.HttpPostedFileWrapper вот в чем проблема

Karthik_Mahalingam

что вам нужно сохранить в P_Image ?

Muhammd Aamir

Вот мой путь, который тоже прекрасен
"C:\\Users\\Muhammad шахид\ \ документы\ \ Visual Studio 2013\\Projects\\WebApplication_MVC1\\WebApplication\\misc\\flowers.jpg"

1 Ответов

Рейтинг:
4

Karthik_Mahalingam

пробовать

var fileName = Path.GetFileName(file.FileName);
              var path = Path.Combine(Server.MapPath("~/misc/"), fileName);
              file.SaveAs(path);
              p.P_Name = fileName;
              db.CreateProducts(p);


Muhammd Aamir

Отличная работа @Karthik большое спасибо за то, что поделились своими знаниями теперь он работает p.P_Image = fileName :)

Karthik_Mahalingam

крутой :)

drcarlosx111

ты спасаешь мою работу
спасибо ты тот самый человек

Karthik_Mahalingam

Добро пожаловать