(不适用.Net Core)layui+WebApi上传文件、上传图片

前言:这里举例是上传文件、上传图片同理!

注意:layui.js版本必须使用2.0版本以上,否则线上会出现上传跨域(CORS)问题!

一、 layu0 JSi声明、调用

layui.use('upload',function()
{
  var upload=layui.upload;
    //执行实例
  var uploadInst = upload.render({
    elem: '#test1' //绑定元素
    ,url: '/upload/' //上传接口
    , accept: 'file'//允许上传的文件类型
    , multiple: true
    , auto: true
    ,done: function(res){
      //上传完毕回调
    }
    ,error: function(){
      //请求异常回调
    }
  });

})

 

二、WebAPI接收上传的文件信息,并处理

 public IHttpActionResult Get()
        {
            if (HttpContext.Current.Request.Files.Count > 0)
            {
                try
                {
                    string filePath = "~/File/demo/";
                    //得到客户端上传的文件
                    HttpPostedFile file = HttpContext.Current.Request.Files[0];
                    //如果文件不存在就重新创建一个
                    if (!System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(filePath)))
                    {
                        Directory.CreateDirectory(HttpContext.Current.Server.MapPath(filePath));
                    }
                    //服务器端要保存的路径
                     filePath = HttpContext.Current.Server.MapPath(filePath) + file.FileName;// +".txt";
                    file.SaveAs(filePath);
                    //返回结果
                    return Json(new { res = "success", filePath = "~/File/demo/" + file.FileName });
                }
                catch (Exception ex)
                {
                    return Json(new { res = ex.Message });
                }
            }
            else
            {
                return Json(new { res = "error" }); ;
                //Response.Write("Error1");
            }
        }
posted @ 2020-02-27 09:38  -PENG-  阅读(1385)  评论(1编辑  收藏  举报