Vue-图片上传

后台代码

[HttpPost]
        public ActionResult UpLoad() {
            try
            {
                //获取前台传过来的文件
                var file = Request.Files[0];
                //将虚拟路径转换成物理路径
                var imgDir = Server.MapPath("/Images/");
                //判断你要存储的文件夹是否存在,如果不在就创建文件夹
                if (!Directory.Exists(imgDir))
                {
                    //创建文件夹
                    Directory.CreateDirectory(imgDir);
                }
                //将虚拟路径转化魏物理路径
                file.SaveAs(imgDir + file.FileName);
                return Json(new { code = 1, fileName = file.FileName }, JsonRequestBehavior.DenyGet);
            }
            catch (Exception ex)
            {
                return Json(new { code = 0, fileName = "",msg=ex.Message }, JsonRequestBehavior.DenyGet);
                throw;
            }
        }

在前台Vue里进行调用

upLoad(event) {
                //获取图片
                let file = event.target.files[0];
                //配置
                let config = {
                    headers: {
                        'Context-Type':"multipart/form-data"
                    }
                }

                let fd = new FormData();
                fd.append("file", file);

                axios.post('/default/UpLoad', fd, config)
                    .then(res => {
                        if (res.data.code > 0) {
                            this.shopData.Img = res.data.fileName;
                            alert('上传成功');
                        } else {
                            alert(res.data.msg);
                        }
                    })
            }

 

posted @ 2021-08-19 20:21  姚睿的博客  阅读(151)  评论(0)    收藏  举报