2015-06-28 4 views
2

Привет, Im Im с этим ASP MVC5 с EF6. В настоящее время я работаю над проектом, который требует сохранения изображения профиля пользователя. Мой класс моделиASP MVC Загрузить профиль Picture Model Class

[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int ID { get; set; } 

    [Required] 
    public String Email { get; set; } 

    [Required] 
    public String Password { get; set; } 

    public String FirstName { get; set; } 

    [Required] 
    public String LastName { get; set; } 

Я не уверен, как добавить атрибут изображения профиля здесь. Класс контроллера и представление генерируются автоматически VS.

Обновление: Я собираюсь сохранить изображение профиля в «физических файлах» вместо сохранения «данных изображения» в базе данных.

+0

Сохранение фотографий в базе данных на самом деле не очень хорошая идея, это очень быстро увеличит размер базы данных. Лучшая идея - управлять ими в файловой системе, сохраняя изображения по их идентификатору и загружая их по требованию. – RAJ

+0

@ user2936719, Если вы хотите сохранить путь к файлу в БД. Создайте столбец в DB, ​​называемый ProfilePicPath, как тип данных varchar. Таким образом, EF создаст такую ​​модель, как public string ProfilePicPath {get; задавать;} – Golda

ответ

1

Чтобы загрузить изображение в Azure, вы должны использовать хранилище blob. Вот ответ, как это сделать Upload image to Azure blob storage Затем вы берете абсолютный URI для загруженного изображения и сохраняете его в строковое свойство вашего класса модели, упомянутого в вашем вопросе.

[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
public int ID { get; set; } 

[Required] 
public String Email { get; set; } 

[Required] 
public String Password { get; set; } 

public String FirstName { get; set; } 

[Required] 
public String LastName { get; set; } 

[Required] 
public String ImageUrl{ get; set; } 
Смежные вопросы