Step 1: Create database and table your need.

Step 2: Create project in vs2012.

Step 3: Create Entity Data Model. For more information read my previous blog.

Step 4: Create controller and view. Write code following code in vie.

  1. <link href="~/Content/bootstrap-fileupload.css" rel="stylesheet" />
  2. <link href="~/Content/Photobooth.css" rel="stylesheet" />
  3. <script src="~/Scripts/bootstrap-fileupload.js"></script>
  4. <script src="~/Scripts/photowebcam.js"></script>
  5. <style type="text/css">
  6. #example
  7. {
  8. height:300px;
  9. }
  10. </style>
  11. <div class="pageheader">
  12. <div class="media">
  13. <div class="pageicon pull-left">
  14. <i class="glyphicon glyphicon-cog"></i>
  15. </div>
  16. <div class="media-body">
  17. <ul class="breadcrumb">
  18. <li><a href=""><i class="glyphicon glyphicon-home"></i></a></li>
  19. <li>Employee</li>
  20. </ul>
  21. <h4 id="lblSellertitle">Add Employee</h4>
  22. </div>
  23. </div><!-- media -->
  24. </div>
  25. <div class="contentpanel">
  26. <form method="post" enctype="multipart/form-data" id="AddEmployeeForm">
  27. <div class="col-md-12 form_align">
  28. <div class="form-group last">
  29. <label class="control-label col-md-4" id="lblAvtar" style="text-align: start">Profile Picture</label>
  30. <div class="col-md-8">
  31. <div class="fileupload fileupload-new" data-provides="fileupload">
  32. <div class="fileupload-new thumbnail" style="width: 200px; height: 150px;">
  33. <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&text=no+image" alt="" id="imgcamera">
  34. </div>
  35. <div class="fileupload-preview fileupload-exists thumbnail" style="max-width: 200px; max-height: 150px; line-height: 20px;"></div>
  36. <div>
  37. <span class="btn btn-white btn-file">
  38. <span class="fileupload-new"><i class="fa fa-paper-clip"></i>Select image</span>
  39. <span class="fileupload-exists"><i class="fa fa-undo"></i>Change</span>
  40. <input type="file" name="file" class="default" id="txtAvtar" />
  41. </span>
  42. <a href="#" class="btn btn-danger fileupload-exists" data-dismiss="fileupload"><i class="fa fa-trash"></i>Remove</a>
  43. </div>
  44. </div>
  45. <button type="button" class="btn btn-primary btn-sm" id="btnbtncameraupload" style="width:150px;">Upload from camera</button>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. <script>
  51. $("#btnbtncameraupload").click(function () {
  52. if ($("#example").css('display') == 'none') {
  53. $("#example").show();
  54. $('#example').photobooth().on("image", function (event, dataUrl) {
  55. $("#imgcamera").attr('src', dataUrl);
  56. $("#pp").val(dataUrl);
  57. });
  58. $('#example').data("photobooth").resize(400, 300);
  59. }
  60. });
  61. </script>
Step 5: Please insert the following js file in project. For js you can go to. http://wolframhempel.github.io/photobooth-js and download. Js file. And for bootstrap-fileupload.js you can go this link.
  1. <script src="~/Scripts/bootstrap-fileupload.js"></script>
  2. <script src="~/Scripts/photowebcam.js"></script>
Step 6: Write the following code in controller. For the post method.

  1. [AcceptVerbs(HttpVerbs.Post)]
  2. public ActionResult AddEmployee(usr_User UserNewAdd, HttpPostedFileBase file, FormCollection fc)
  3. {
  4. Random objrandom = new Random();
  5. string Password = Convert.ToString(objrandom.Next());
  6. //For Store Image in Database...!!!
  7. if (UserNewAdd.ProfilePicture != null && file == null)
  8. {
  9. UserNewAdd.ProfilePicture = UserNewAdd.ProfilePicture.Replace("data:image/png;base64,", ""); //The converted base64 string data have "data:image/png;base64," as additional data
  10. string base64 = UserNewAdd.ProfilePicture.Substring(UserNewAdd.ProfilePicture.IndexOf(',') + 1);
  11. base64 = base64.Trim('\0');
  12. byte[] chartData = Convert.FromBase64String(base64);
  13. CreateImage(chartData, UserNewAdd.EmailID.ToString() + ".png");
  14. UserNewAdd.ProfilePicture = UserNewAdd.EmailID.ToString() + ".png";
  15. }
  16. if (file != null)
  17. {
  18. var ProfPicName = Path.GetFileName(file.FileName);
  19. var path = Path.Combine(Server.MapPath("~/ProfilePicture/"), ProfPicName);
  20. file.SaveAs(path);
  21. UserNewAdd.ProfilePicture = file.FileName;
  22. }
  23. //For Store language Known...!!!
  24. if (fc["languge"] != null)
  25. {
  26. String languageKnownList = fc["languge"].ToString();
  27. UserNewAdd.LanguageKnown = languageKnownList;
  28. }
  29. //Create new Guid For user...!!!
  30. UserNewAdd.UserID = Guid.NewGuid();
  31. UserNewAdd.Password = Password;
  32. DateTime UserDOB = new DateTime();
  33. DateTime UserJoinDate = new DateTime();
  34. DateTime UserReleaveDate = new DateTime();
  35. if (fc["DOB"] != null)
  36. {
  37. UserDOB = DateTime.ParseExact(fc["DOB"], "MM/dd/yyyy", CultureInfo.InvariantCulture);
  38. }
  39. if (fc["JoiningDate"] != null)
  40. {
  41. UserJoinDate = DateTime.ParseExact(fc["JoiningDate"], "MM/dd/yyyy", CultureInfo.InvariantCulture);
  42. }
  43. if (fc["ReleavingDate"] == null || fc["ReleavingDate"] == "")
  44. {
  45. UserReleaveDate = Convert.ToDateTime(null);
  46. }
  47. else
  48. {
  49. UserReleaveDate = DateTime.ParseExact(fc["ReleavingDate"], "MM/dd/yyyy", CultureInfo.InvariantCulture);
  50. }
  51. UserNewAdd.DOB = UserDOB;
  52. UserNewAdd.JoiningDate = UserJoinDate;
  53. UserNewAdd.IsActive = false;
  54. UserNewAdd.RoleName = _dataContext.usr_Roles.Where(s = > s.RoleID == UserNewAdd.RoleID).SingleOrDefault().RoleName;
  55. //For Add and Save record in database...!!!
  56. _dataContext.usr_Users.InsertOnSubmit(UserNewAdd);
  57. usr_Address AddAddressDetail = new usr_Address();
  58. AddAddressDetail.AddressID = Guid.NewGuid();
  59. AddAddressDetail.StreetOne = UserNewAdd.usrAddressList.StreetOne;
  60. AddAddressDetail.StreetTwo = UserNewAdd.usrAddressList.StreetTwo;
  61. AddAddressDetail.Landmark = UserNewAdd.usrAddressList.Landmark;
  62. AddAddressDetail.City = UserNewAdd.usrAddressList.City;
  63. AddAddressDetail.State = UserNewAdd.usrAddressList.State;
  64. AddAddressDetail.Country = UserNewAdd.usrAddressList.Country;
  65. AddAddressDetail.UserID = UserNewAdd.UserID;
  66. AddAddressDetail.AddressType = "Primary Address";
  67. _dataContext.usr_Address.InsertOnSubmit(AddAddressDetail);
  68. _dataContext.SubmitChanges();
  69. if (UserNewAdd.usrAddressList.isper == true)
  70. {
  71. usr_Address PerAdress = new usr_Address();
  72. PerAdress.AddressID = Guid.NewGuid();
  73. PerAdress.StreetOne = UserNewAdd.usrAddressList.streatone1;
  74. PerAdress.StreetTwo = UserNewAdd.usrAddressList.steattwo1;
  75. PerAdress.Landmark = UserNewAdd.usrAddressList.landmark1;
  76. PerAdress.City = UserNewAdd.usrAddressList.city1;
  77. PerAdress.State = UserNewAdd.usrAddressList.state1;
  78. PerAdress.Country = UserNewAdd.usrAddressList.country1;
  79. PerAdress.UserID = UserNewAdd.UserID;
  80. PerAdress.AddressType = "Permanent Address";
  81. _dataContext.usr_Address.InsertOnSubmit(PerAdress);
  82. _dataContext.SubmitChanges();
  83. }
  84. string strLink = Convert.ToString(ConfigurationSettings.AppSettings["ApplicationPath"]) + "/Login/Login?UserID=" + EncryptionedString(UserNewAdd.UserID.ToString());
  85. String msg = SendEmailWithPasswordKey(UserNewAdd.FirstName + " " + UserNewAdd.LastName, UserNewAdd.EmailID, Password, strLink);
  86. return RedirectToAction("EmployeeList");
  87. }
Step 7: Now you can run project. And Select profile picture field. Select Image button. So you can select it into our Drive only.

Step 8: If you can take new photo from camera then you can select Upload from camera button.(for this work only if camera supported devise like laptop and mobile)

click uoload image
Step 9: Ask for Shared selected device.

upload image
Step 10: So camera start and Take picture to push last button on right side.

upload image
Step 11: If you can take picture it display in profile picture image in form.

profile image