télécharger l'image dans le dossier du serveur et le chemin de sauvegarde de sql server à l'aide de entity framework mvc4
Je suis en train d'enregistrer l'image dans le dossier et le chemin d'accès au magasin dans sql server 2008 à l'aide de entity framework. J'ai besoin d'enregistrer un utilisateur avec l'image. Mon code est l'enregistrement de toutes les données dans la base de données à l'exception de l'image et de l'image de chemin.
My model is
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
public partial class customer
{
[Display(Name="Username")]
public string user_id { get; set; }
[Display(Name = "Password")]
public string password { get; set; }
[Display(Name = "First Name")]
public string first_name { get; set; }
[Display(Name = "Last Name")]
public string last_name { get; set; }
[Display(Name = "Address")]
public string address { get; set; }
[Display(Name = "City")]
public string city { get; set; }
[Display(Name = "State")]
public string state { get; set; }
[Display(Name = "Zip")]
public Nullable<int> zip { get; set; }
[Display(Name = "Country")]
public string country { get; set; }
[Display(Name = "Email Address")]
public string email { get; set; }
[Display(Name = "Phone")]
public string phone { get; set; }
[Display(Name = "Picture")]
public string picture { get; set; }
[Display(Name = "Registration Date")]
public Nullable<System.DateTime> reg_date { get; set; }
[Display(Name = "Status")]
public string status { get; set; }
[Display(Name = "Keep me logged in")]
public bool rememberme { get; set; }
}
}
My Controller is
[HttpPost]
public ActionResult Register(customer customer, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
if (file != null)
{
file.SaveAs(HttpContext.Server.MapPath("~/image/") + file.FileName);
customer.picture = file.FileName;
}
onlinebookstoreEntities1 db = new onlinebookstoreEntities1();
db.customers.Add(customer);
db.SaveChanges();
return RedirectToAction("Index","Home");
}
return View(customer);
}
and my view is
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { enctype = "multipart/form-data" })) {
<div class="editor-label">
@Html.LabelFor(model => model.first_name)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.first_name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.last_name)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.last_name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.user_id)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.user_id)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.password)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.password)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.address)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.address)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.city)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.city)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.state)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.state)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.zip)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.zip)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.country)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.country)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.email)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.email)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.phone)
</div>
<div class="txtreg">
@Html.EditorFor(model => model.phone)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.picture)
</div>
<div class="btnreg">
<input type="file" id="picture" value="Upload Picture" />
</div>
<div class="txtreg">
@Html.CheckBoxFor(model => model.rememberme) @Html.LabelFor(model => model.rememberme)
</div>
<input type="submit" value="Create Account" name="btnsub" />
}
je ne suis pas arriver ur question????
OriginalL'auteur user3780510 | 2014-07-04
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez enregistrer une image dans la base de données de vos biens doivent ressembler à ceci:
et non pas:
Vous enregistrez votre image comme ceci:
Et la ActionResult méthode à l'intérieur de votre PhotoController serait
et les économies réelles de la photo elle-même
Espère que vous pouvez relier les points.
Mohammad
Mohammad, vous avez cette forme
@using (Html.BeginForm("Create", "Photo", FormMethod.Post, new { enctype = "multipart/form-data" }))
à l'intérieur de votreRegistration form
?OriginalL'auteur
vérifier votre image autorisations de dossier, sinon, réglez-le à tous les lire, écrire, exécuter les autorisations. Essayez de déboguer le code et vérifier si le fichier est null ou toute exception des feux tout en fichier.SaveAs appelé
OriginalL'auteur Hiren Kagrana
D'économie d'url en db est assez simple.Dans le même temps, vous pouvez enregistrer l'image en octets format en db.Dans votre modèle, vous avez
Méthode-1:
Changement chaîne type ou tout autre type de octet.
Donc, sur cette image si vous souhaitez enregistrer l'image vous convertir image de type octet au lieu de string dans votre table des clients en db.
Voici votre code pour enregistrer l'image au format des octets en db.
Dans votre contrôleur
Dans votre Registre de Vue
Méthode 2:
Surtout dans votre cas que vous devez enregistrer l'image chemin de ce que vous devez faire est de:-
Dans votre Contrôleur
Si vous faites un clic droit sur votre dossier d'images et cliquez sur "Ouvrir le dossier dans l'explorateur windows", vous pouvez voir votre photo téléchargée.
OriginalL'auteur Ravi Kiran