【NopCommerce 3.1】asp.net mvc 利用jQuery from.js上传用户头像
纯代码不解释。
在CusotmerControllers中添加上传方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 |
/// <summary> /// ajax上传用户头像 /// </summary> /// <param name="uploadedFile"></param> /// <returns></returns> [HttpPost] public
string AjaxUploadAvatar(HttpPostedFileBase uploadedFile) { string
message = string .Empty; var
customer = _workContext.CurrentCustomer; try { var
customerAvatar = _pictureService.GetPictureById(customer.GetAttribute< int >(SystemCustomerAttributeNames.AvatarPictureId)); if
((uploadedFile != null ) && (!String.IsNullOrEmpty(uploadedFile.FileName))) { int
avatarMaxSize = _customerSettings.AvatarMaximumSizeBytes; if
(uploadedFile.ContentLength > avatarMaxSize) { message = string .Format(_localizationService.GetResource( "Account.Avatar.MaximumUploadedFileSize" ), avatarMaxSize); return
message; } byte [] customerPictureBinary = uploadedFile.GetPictureBits(); if
(customerAvatar != null ) customerAvatar = _pictureService.UpdatePicture(customerAvatar.Id, customerPictureBinary, uploadedFile.ContentType, null , true ); else customerAvatar = _pictureService.InsertPicture(customerPictureBinary, uploadedFile.ContentType, null , true ); } int
customerAvatarId = 0; if
(customerAvatar != null ) customerAvatarId = customerAvatar.Id; _genericAttributeService.SaveAttribute(customer, SystemCustomerAttributeNames.AvatarPictureId, customerAvatarId); message = _pictureService.GetPictureUrl( customer.GetAttribute< int >(SystemCustomerAttributeNames.AvatarPictureId), _mediaSettings.AvatarPictureSize, false ); return
"1|" + message; } catch
(Exception exc) { message = exc.Message; return
message; } } |
View代码:Avatar.cshtml
<script src="http://malsup.github.com/jquery.form.js" type="text/javascript"></script> @using (Html.BeginForm("AjaxUploadAvatar", "Customer", FormMethod.Post, new { enctype = "multipart/form-data", id = "formUploadImg" })) { <div class="theme-popover-mask"></div> <div class="theme-popover"> <div class="message-error"> @Html.ValidationSummary(true) </div> <div class="theme-poptit"> <a href="javascript:;" title="关闭" class="close">×</a> <h3>修改您的头像</h3> </div> <div class="theme-popbod dform"> <div class="upload_left"> @if (!String.IsNullOrEmpty(Model.AvatarUrl)) { <img src="@(Model.AvatarUrl)" alt="avatar" /> }<p>当前头像</p> </div> <div class="upload_right"> <h3>请选择您电脑上的图片:</h3> <input name="uploadedFile" id="uploadedFile" type="file" /> <input type="submit" id="btnUploadImg" name="upload-avatar" class="button-1 upload-avatar-button" value="@T("Common.Upload")" /> @if (!String.IsNullOrEmpty(Model.AvatarUrl)) { <input type="submit" name="remove-avatar" class="button-2 remove-avatar-button" value="@T("Account.Avatar.RemoveAvatar")" /> } <div id="progress" style="display: none"> <div id="bar">图片正在上传请稍等.....</div> </div> <br /> <div id="message"></div> <input type="hidden" value="0" id="hidIsUpLoadimg" /> <p>@T("Account.Avatar.UploadRules")</p> </div> </div> </div> } <script type="text/javascript"> $(document).ready(function ($) { $(‘.user_infor img‘).click(function () { popupCon(); }); $(‘.theme-poptit .close‘).click(function () { popupBtn(); }); $(document).ready(function () { var options = { beforeSend: function () { $("#progress").show(); }, success: function () { $("#progress").hide(); }, complete: function (response) { if (response.responseText.split(‘|‘)[0] == "1") { $("#hidIsUpLoadimg").val(response.responseText); $("#message").html("<font color=‘green‘>图片上传成功,请刷新当前页面.</font>"); } }, error: function () { $("#message").html("<font color=‘red‘>上传图片出错,请重新上传!</font>"); } }; $("#formUploadImg").ajaxForm(options); }); }); </script>
其它的不多说了。在用NopCommerce的欢迎加群讨论。
【NopCommerce 3.1】asp.net mvc 利用jQuery from.js上传用户头像,古老的榕树,5-wow.com
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。