1. 程式人生 > >Layui上傳圖片 帶介面

Layui上傳圖片 帶介面

 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;
            }
        };