Layui上傳圖片 帶介面
阿新 • • 發佈:2018-12-03
layui.use('upload', function () { var upload = layui.upload; upload.render({ elem: '#LAY_avatarUpload' , url: setter.apiDomain + '/api/WxPay/UploadFileByStream_Head' , choose: function (obj) { //將每次選擇的檔案追加到檔案佇列 var files = obj.pushFile(); //預讀本地檔案,如果是多檔案,則會遍歷。(不支援ie8/9)obj.preview(function (index, file, result) { console.log(index); //得到檔案索引 console.log(file); //得到檔案物件 console.log(result); //得到檔案base64編碼,比如圖片 //obj.resetFile(index, file, '123.jpg'); //重新命名檔名,layui 2.3.0 開始新增 //這裡還可以做一些 append 檔案列表 DOM 的操作//obj.upload(index, file); //對上傳失敗的單個檔案重新上傳,一般在某個事件中使用 //delete files[index]; //刪除列表中對應的檔案,一般在某個事件中使用 }); } , done: function (index, res) { //上傳完畢回撥 if (index.Data.Url != "") { var url = index.Data.Url; $(".UserHeadImgUrl").attr('src', setter.apiDomain + url); }var UserHeadImgUrl = $('.UserHeadImgUrl').attr("src"); var url = '/api/Userinformation/EditImg'; ----這個主要就是更改欄位,就沒粘上來 var parment = { UserHeadImgUrl: UserHeadImgUrl } callpack = function () { } admin.ajax(url, parment, callpack) } , error: function (index) { //請求異常回調 } }); })
------------介面 UploadFileByStream_Head
public ResultInfo<UploadFileResponseModel> UploadFileByStream_Head() { var info = new ResultInfo<UploadFileResponseModel>(); try { #region 校驗資料 if (!Request.Content.IsMimeMultipartContent()) { info.Result = false; info.StatusCode = (int)StatusCodeEnum.HttpRequestError; info.State = StatusCodeEnum.HttpRequestError.ToString(); info.Msg = "不是有效的上傳方式"; return info; } if (HttpContext.Current.Request.Files.Count <= 0) { info.Result = false; info.StatusCode = (int)StatusCodeEnum.HttpRequestError; info.State = StatusCodeEnum.HttpRequestError.ToString(); info.Msg = "沒有上傳檔案"; return info; } #endregion var resInfo = new UploadFileResponseModel(); HttpPostedFile file = HttpContext.Current.Request.Files[0]; var ext = Path.GetExtension(file.FileName); var fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + Funcs.GetRandom(1000000, 10000000) + ext; var filesName = DateTime.Now.ToString("yyyyMMddHH"); var url = "/Upload/Consignor/Img/" + filesName + "/" + fileName; var path = HttpContext.Current.Server.MapPath("/Upload/Consignor/Img/" + filesName + "/"); Directory.CreateDirectory(path); var fullFileName = path + fileName; file.SaveAs(fullFileName); //返回資料 resInfo.FileName = fileName; resInfo.ImagesType = "介面上傳Stream"; resInfo.LocalPath = file.FileName; resInfo.Url = url; info.Result = true; info.StatusCode = (int)StatusCodeEnum.Success; info.State = StatusCodeEnum.Success.ToString(); info.Data = resInfo; info.Msg = "上傳成功"; return info; } catch (Exception ex) { string msg = "出現異常:" + ex.Message; info.Result = false; info.StatusCode = (int)StatusCodeEnum.Error; info.State = StatusCodeEnum.Error.ToString(); info.Msg = msg; return info; } };